Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 249475
b: refs/heads/master
c: 972621c
h: refs/heads/master
i:
  249473: 26d01db
  249471: 0e99fd1
v: v3
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed May 11, 2011
1 parent adc62b1 commit 9373102
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0f0cdc6af658cf2e567ad404d30296a912b4af41
refs/heads/master: 972621c965fa0d18904152890540d7c1643d6d7f
27 changes: 14 additions & 13 deletions trunk/drivers/staging/hv/storvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
* Authors:
* Haiyang Zhang <haiyangz@microsoft.com>
* Hank Janssen <hjanssen@microsoft.com>
* K. Y. Srinivasan <kys@microsoft.com>
*/
#include <linux/init.h>
#include <linux/slab.h>
Expand Down Expand Up @@ -50,7 +51,7 @@ static const struct hv_guid gStorVscDeviceType = {
}
};

struct host_device_context {
struct hv_host_device {
/* must be 1st field
* FIXME this is a bug */
/* point back to our device context */
Expand Down Expand Up @@ -325,23 +326,23 @@ static int storvsc_probe(struct hv_device *device)
struct storvsc_driver *storvsc_drv_obj =
drv_to_stordrv(device->device.driver);
struct Scsi_Host *host;
struct host_device_context *host_device_ctx;
struct hv_host_device *host_device_ctx;
struct storvsc_device_info device_info;

if (!storvsc_drv_obj->base.dev_add)
return -1;

host = scsi_host_alloc(&scsi_driver,
sizeof(struct host_device_context));
sizeof(struct hv_host_device));
if (!host) {
DPRINT_ERR(STORVSC_DRV, "unable to allocate scsi host object");
return -ENOMEM;
}

dev_set_drvdata(&device->device, host);

host_device_ctx = (struct host_device_context *)host->hostdata;
memset(host_device_ctx, 0, sizeof(struct host_device_context));
host_device_ctx = (struct hv_host_device *)host->hostdata;
memset(host_device_ctx, 0, sizeof(struct hv_host_device));

host_device_ctx->port = host->host_no;
host_device_ctx->device_ctx = device;
Expand Down Expand Up @@ -402,8 +403,8 @@ static int storvsc_remove(struct hv_device *dev)
struct storvsc_driver *storvsc_drv_obj =
drv_to_stordrv(dev->device.driver);
struct Scsi_Host *host = dev_get_drvdata(&dev->device);
struct host_device_context *host_device_ctx =
(struct host_device_context *)host->hostdata;
struct hv_host_device *host_device_ctx =
(struct hv_host_device *)host->hostdata;

/*
* Call to the vsc driver to let it know that the device is being
Expand Down Expand Up @@ -432,8 +433,8 @@ static void storvsc_commmand_completion(struct hv_storvsc_request *request)
struct storvsc_cmd_request *cmd_request =
(struct storvsc_cmd_request *)request->context;
struct scsi_cmnd *scmnd = cmd_request->cmd;
struct host_device_context *host_device_ctx =
(struct host_device_context *)scmnd->device->host->hostdata;
struct hv_host_device *host_device_ctx =
(struct hv_host_device *)scmnd->device->host->hostdata;
void (*scsi_done_fn)(struct scsi_cmnd *);
struct scsi_sense_hdr sense_hdr;
struct vmscsi_request *vm_srb;
Expand Down Expand Up @@ -682,8 +683,8 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd,
void (*done)(struct scsi_cmnd *))
{
int ret;
struct host_device_context *host_device_ctx =
(struct host_device_context *)scmnd->device->host->hostdata;
struct hv_host_device *host_device_ctx =
(struct hv_host_device *)scmnd->device->host->hostdata;
struct hv_device *device_ctx = host_device_ctx->device_ctx;
struct storvsc_driver *storvsc_drv_obj =
drv_to_stordrv(device_ctx->device.driver);
Expand Down Expand Up @@ -915,8 +916,8 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
static int storvsc_host_reset_handler(struct scsi_cmnd *scmnd)
{
int ret;
struct host_device_context *host_device_ctx =
(struct host_device_context *)scmnd->device->host->hostdata;
struct hv_host_device *host_device_ctx =
(struct hv_host_device *)scmnd->device->host->hostdata;
struct hv_device *device_ctx = host_device_ctx->device_ctx;

DPRINT_INFO(STORVSC_DRV, "sdev (%p) dev obj (%p) - host resetting...",
Expand Down

0 comments on commit 9373102

Please sign in to comment.