Loading drivers/scsi/aic94xx/aic94xx_scb.c +5 −4 Original line number Diff line number Diff line Loading @@ -414,9 +414,10 @@ void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id) } /* hard reset a phy later */ static void do_phy_reset_later(void *data) static void do_phy_reset_later(struct work_struct *work) { struct sas_phy *sas_phy = data; struct sas_phy *sas_phy = container_of(work, struct sas_phy, reset_work); int error; ASD_DPRINTK("%s: About to hard reset phy %d\n", __FUNCTION__, Loading @@ -430,7 +431,7 @@ static void do_phy_reset_later(void *data) static void phy_reset_later(struct sas_phy *sas_phy, struct Scsi_Host *shost) { INIT_WORK(&sas_phy->reset_work, do_phy_reset_later, sas_phy); INIT_WORK(&sas_phy->reset_work, do_phy_reset_later); queue_work(shost->work_q, &sas_phy->reset_work); } Loading @@ -442,7 +443,7 @@ static void task_kill_later(struct asd_ascb *ascb) struct Scsi_Host *shost = sas_ha->core.shost; struct sas_task *task = ascb->uldd_task; INIT_WORK(&task->abort_work, (void (*)(void *))sas_task_abort, task); INIT_WORK(&task->abort_work, sas_task_abort); queue_work(shost->work_q, &task->abort_work); } Loading drivers/scsi/libsas/sas_scsi_host.c +3 −1 Original line number Diff line number Diff line Loading @@ -846,8 +846,10 @@ static int do_sas_task_abort(struct sas_task *task) return -EAGAIN; } void sas_task_abort(struct sas_task *task) void sas_task_abort(struct work_struct *work) { struct sas_task *task = container_of(work, struct sas_task, abort_work); int i; for (i = 0; i < 5; i++) Loading drivers/scsi/scsi_tgt_lib.c +9 −6 Original line number Diff line number Diff line Loading @@ -185,10 +185,11 @@ static void cmd_hashlist_del(struct scsi_cmnd *cmd) spin_unlock_irqrestore(&qdata->cmd_hash_lock, flags); } static void scsi_tgt_cmd_destroy(void *data) static void scsi_tgt_cmd_destroy(struct work_struct *work) { struct scsi_cmnd *cmd = data; struct scsi_tgt_cmd *tcmd = cmd->request->end_io_data; struct scsi_tgt_cmd *tcmd = container_of(work, struct scsi_tgt_cmd, work); struct scsi_cmnd *cmd = tcmd->rq->special; dprintk("cmd %p %d %lu\n", cmd, cmd->sc_data_direction, rq_data_dir(cmd->request)); Loading @@ -214,6 +215,7 @@ static void init_scsi_tgt_cmd(struct request *rq, struct scsi_tgt_cmd *tcmd, struct list_head *head; tcmd->tag = tag; INIT_WORK(&tcmd->work, scsi_tgt_cmd_destroy); spin_lock_irqsave(&qdata->cmd_hash_lock, flags); head = &qdata->cmd_hash[cmd_hashfn(tag)]; list_add(&tcmd->hash_list, head); Loading Loading @@ -303,7 +305,7 @@ void scsi_tgt_free_queue(struct Scsi_Host *shost) cmd = tcmd->rq->special; shost->hostt->eh_abort_handler(cmd); scsi_tgt_cmd_destroy(cmd); scsi_tgt_cmd_destroy(&tcmd->work); } } EXPORT_SYMBOL_GPL(scsi_tgt_free_queue); Loading Loading @@ -347,7 +349,6 @@ static void scsi_tgt_cmd_done(struct scsi_cmnd *cmd) dprintk("cmd %p %lu\n", cmd, rq_data_dir(cmd->request)); scsi_tgt_uspace_send_status(cmd, tcmd->tag); INIT_WORK(&tcmd->work, scsi_tgt_cmd_destroy, cmd); queue_work(scsi_tgtd, &tcmd->work); } Loading Loading @@ -549,13 +550,15 @@ static int scsi_tgt_copy_sense(struct scsi_cmnd *cmd, unsigned long uaddr, static int scsi_tgt_abort_cmd(struct Scsi_Host *shost, struct scsi_cmnd *cmd) { struct scsi_tgt_cmd *tcmd; int err; err = shost->hostt->eh_abort_handler(cmd); if (err) eprintk("fail to abort %p\n", cmd); scsi_tgt_cmd_destroy(cmd); tcmd = cmd->request->end_io_data; scsi_tgt_cmd_destroy(&tcmd->work); return err; } Loading include/scsi/libsas.h +1 −1 Original line number Diff line number Diff line Loading @@ -646,6 +646,6 @@ void sas_unregister_dev(struct domain_device *); void sas_init_dev(struct domain_device *); void sas_task_abort(struct sas_task *task); void sas_task_abort(struct work_struct *); #endif /* _SASLIB_H_ */ Loading
drivers/scsi/aic94xx/aic94xx_scb.c +5 −4 Original line number Diff line number Diff line Loading @@ -414,9 +414,10 @@ void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id) } /* hard reset a phy later */ static void do_phy_reset_later(void *data) static void do_phy_reset_later(struct work_struct *work) { struct sas_phy *sas_phy = data; struct sas_phy *sas_phy = container_of(work, struct sas_phy, reset_work); int error; ASD_DPRINTK("%s: About to hard reset phy %d\n", __FUNCTION__, Loading @@ -430,7 +431,7 @@ static void do_phy_reset_later(void *data) static void phy_reset_later(struct sas_phy *sas_phy, struct Scsi_Host *shost) { INIT_WORK(&sas_phy->reset_work, do_phy_reset_later, sas_phy); INIT_WORK(&sas_phy->reset_work, do_phy_reset_later); queue_work(shost->work_q, &sas_phy->reset_work); } Loading @@ -442,7 +443,7 @@ static void task_kill_later(struct asd_ascb *ascb) struct Scsi_Host *shost = sas_ha->core.shost; struct sas_task *task = ascb->uldd_task; INIT_WORK(&task->abort_work, (void (*)(void *))sas_task_abort, task); INIT_WORK(&task->abort_work, sas_task_abort); queue_work(shost->work_q, &task->abort_work); } Loading
drivers/scsi/libsas/sas_scsi_host.c +3 −1 Original line number Diff line number Diff line Loading @@ -846,8 +846,10 @@ static int do_sas_task_abort(struct sas_task *task) return -EAGAIN; } void sas_task_abort(struct sas_task *task) void sas_task_abort(struct work_struct *work) { struct sas_task *task = container_of(work, struct sas_task, abort_work); int i; for (i = 0; i < 5; i++) Loading
drivers/scsi/scsi_tgt_lib.c +9 −6 Original line number Diff line number Diff line Loading @@ -185,10 +185,11 @@ static void cmd_hashlist_del(struct scsi_cmnd *cmd) spin_unlock_irqrestore(&qdata->cmd_hash_lock, flags); } static void scsi_tgt_cmd_destroy(void *data) static void scsi_tgt_cmd_destroy(struct work_struct *work) { struct scsi_cmnd *cmd = data; struct scsi_tgt_cmd *tcmd = cmd->request->end_io_data; struct scsi_tgt_cmd *tcmd = container_of(work, struct scsi_tgt_cmd, work); struct scsi_cmnd *cmd = tcmd->rq->special; dprintk("cmd %p %d %lu\n", cmd, cmd->sc_data_direction, rq_data_dir(cmd->request)); Loading @@ -214,6 +215,7 @@ static void init_scsi_tgt_cmd(struct request *rq, struct scsi_tgt_cmd *tcmd, struct list_head *head; tcmd->tag = tag; INIT_WORK(&tcmd->work, scsi_tgt_cmd_destroy); spin_lock_irqsave(&qdata->cmd_hash_lock, flags); head = &qdata->cmd_hash[cmd_hashfn(tag)]; list_add(&tcmd->hash_list, head); Loading Loading @@ -303,7 +305,7 @@ void scsi_tgt_free_queue(struct Scsi_Host *shost) cmd = tcmd->rq->special; shost->hostt->eh_abort_handler(cmd); scsi_tgt_cmd_destroy(cmd); scsi_tgt_cmd_destroy(&tcmd->work); } } EXPORT_SYMBOL_GPL(scsi_tgt_free_queue); Loading Loading @@ -347,7 +349,6 @@ static void scsi_tgt_cmd_done(struct scsi_cmnd *cmd) dprintk("cmd %p %lu\n", cmd, rq_data_dir(cmd->request)); scsi_tgt_uspace_send_status(cmd, tcmd->tag); INIT_WORK(&tcmd->work, scsi_tgt_cmd_destroy, cmd); queue_work(scsi_tgtd, &tcmd->work); } Loading Loading @@ -549,13 +550,15 @@ static int scsi_tgt_copy_sense(struct scsi_cmnd *cmd, unsigned long uaddr, static int scsi_tgt_abort_cmd(struct Scsi_Host *shost, struct scsi_cmnd *cmd) { struct scsi_tgt_cmd *tcmd; int err; err = shost->hostt->eh_abort_handler(cmd); if (err) eprintk("fail to abort %p\n", cmd); scsi_tgt_cmd_destroy(cmd); tcmd = cmd->request->end_io_data; scsi_tgt_cmd_destroy(&tcmd->work); return err; } Loading
include/scsi/libsas.h +1 −1 Original line number Diff line number Diff line Loading @@ -646,6 +646,6 @@ void sas_unregister_dev(struct domain_device *); void sas_init_dev(struct domain_device *); void sas_task_abort(struct sas_task *task); void sas_task_abort(struct work_struct *); #endif /* _SASLIB_H_ */