diff options
Diffstat (limited to 'drivers/scsi/scsi_transport_iscsi.c')
| -rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 9b25124a989..9c22f134271 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -234,9 +234,11 @@ static int iscsi_user_scan(struct Scsi_Host *shost, uint channel,  	return 0;  } -static void session_recovery_timedout(void *data) +static void session_recovery_timedout(struct work_struct *work)  { -	struct iscsi_cls_session *session = data; +	struct iscsi_cls_session *session = +		container_of(work, struct iscsi_cls_session, +			     recovery_work.work);  	dev_printk(KERN_INFO, &session->dev, "iscsi: session recovery timed "  		  "out after %d secs\n", session->recovery_tmo); @@ -276,7 +278,7 @@ iscsi_alloc_session(struct Scsi_Host *shost,  	session->transport = transport;  	session->recovery_tmo = 120; -	INIT_WORK(&session->recovery_work, session_recovery_timedout, session); +	INIT_DELAYED_WORK(&session->recovery_work, session_recovery_timedout);  	INIT_LIST_HEAD(&session->host_list);  	INIT_LIST_HEAD(&session->sess_list);  |