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 94a274645f6f..d3c5e964c964 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -362,9 +362,10 @@ static struct scsi_target *scsi_alloc_target(struct device *parent, | |||
362 | goto retry; | 362 | goto retry; |
363 | } | 363 | } |
364 | 364 | ||
365 | static void scsi_target_reap_usercontext(void *data) | 365 | static void scsi_target_reap_usercontext(struct work_struct *work) |
366 | { | 366 | { |
367 | struct scsi_target *starget = data; | 367 | struct scsi_target *starget = |
368 | container_of(work, struct scsi_target, ew.work); | ||
368 | struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); | 369 | struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); |
369 | unsigned long flags; | 370 | unsigned long flags; |
370 | 371 | ||
@@ -400,7 +401,7 @@ void scsi_target_reap(struct scsi_target *starget) | |||
400 | starget->state = STARGET_DEL; | 401 | starget->state = STARGET_DEL; |
401 | spin_unlock_irqrestore(shost->host_lock, flags); | 402 | spin_unlock_irqrestore(shost->host_lock, flags); |
402 | execute_in_process_context(scsi_target_reap_usercontext, | 403 | execute_in_process_context(scsi_target_reap_usercontext, |
403 | starget, &starget->ew); | 404 | &starget->ew); |
404 | return; | 405 | return; |
405 | 406 | ||
406 | } | 407 | } |