diff options
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 4d656148bd6..14e635aa44c 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -437,9 +437,10 @@ static struct scsi_target *scsi_alloc_target(struct device *parent, | |||
437 | goto retry; | 437 | goto retry; |
438 | } | 438 | } |
439 | 439 | ||
440 | static void scsi_target_reap_usercontext(void *data) | 440 | static void scsi_target_reap_usercontext(struct work_struct *work) |
441 | { | 441 | { |
442 | struct scsi_target *starget = data; | 442 | struct scsi_target *starget = |
443 | container_of(work, struct scsi_target, ew.work); | ||
443 | struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); | 444 | struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); |
444 | unsigned long flags; | 445 | unsigned long flags; |
445 | 446 | ||
@@ -475,7 +476,7 @@ void scsi_target_reap(struct scsi_target *starget) | |||
475 | starget->state = STARGET_DEL; | 476 | starget->state = STARGET_DEL; |
476 | spin_unlock_irqrestore(shost->host_lock, flags); | 477 | spin_unlock_irqrestore(shost->host_lock, flags); |
477 | execute_in_process_context(scsi_target_reap_usercontext, | 478 | execute_in_process_context(scsi_target_reap_usercontext, |
478 | starget, &starget->ew); | 479 | &starget->ew); |
479 | return; | 480 | return; |
480 | 481 | ||
481 | } | 482 | } |