Actually update the fixed up compile failures.
Signed-Off-By: David Howells <dhowells@redhat.com>
This commit is contained in:
parent
4796b71fbb
commit
06328b4f79
|
@ -414,9 +414,10 @@ void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* hard reset a phy later */
|
/* 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;
|
int error;
|
||||||
|
|
||||||
ASD_DPRINTK("%s: About to hard reset phy %d\n", __FUNCTION__,
|
ASD_DPRINTK("%s: About to hard reset phy %d\n", __FUNCTION__,
|
||||||
|
@ -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)
|
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);
|
queue_work(shost->work_q, &sas_phy->reset_work);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -442,7 +443,7 @@ static void task_kill_later(struct asd_ascb *ascb)
|
||||||
struct Scsi_Host *shost = sas_ha->core.shost;
|
struct Scsi_Host *shost = sas_ha->core.shost;
|
||||||
struct sas_task *task = ascb->uldd_task;
|
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);
|
queue_work(shost->work_q, &task->abort_work);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -846,8 +846,10 @@ static int do_sas_task_abort(struct sas_task *task)
|
||||||
return -EAGAIN;
|
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;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < 5; i++)
|
for (i = 0; i < 5; i++)
|
||||||
|
|
|
@ -185,10 +185,11 @@ static void cmd_hashlist_del(struct scsi_cmnd *cmd)
|
||||||
spin_unlock_irqrestore(&qdata->cmd_hash_lock, flags);
|
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 =
|
||||||
struct scsi_tgt_cmd *tcmd = cmd->request->end_io_data;
|
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,
|
dprintk("cmd %p %d %lu\n", cmd, cmd->sc_data_direction,
|
||||||
rq_data_dir(cmd->request));
|
rq_data_dir(cmd->request));
|
||||||
|
@ -214,6 +215,7 @@ static void init_scsi_tgt_cmd(struct request *rq, struct scsi_tgt_cmd *tcmd,
|
||||||
struct list_head *head;
|
struct list_head *head;
|
||||||
|
|
||||||
tcmd->tag = tag;
|
tcmd->tag = tag;
|
||||||
|
INIT_WORK(&tcmd->work, scsi_tgt_cmd_destroy);
|
||||||
spin_lock_irqsave(&qdata->cmd_hash_lock, flags);
|
spin_lock_irqsave(&qdata->cmd_hash_lock, flags);
|
||||||
head = &qdata->cmd_hash[cmd_hashfn(tag)];
|
head = &qdata->cmd_hash[cmd_hashfn(tag)];
|
||||||
list_add(&tcmd->hash_list, head);
|
list_add(&tcmd->hash_list, head);
|
||||||
|
@ -303,7 +305,7 @@ void scsi_tgt_free_queue(struct Scsi_Host *shost)
|
||||||
cmd = tcmd->rq->special;
|
cmd = tcmd->rq->special;
|
||||||
|
|
||||||
shost->hostt->eh_abort_handler(cmd);
|
shost->hostt->eh_abort_handler(cmd);
|
||||||
scsi_tgt_cmd_destroy(cmd);
|
scsi_tgt_cmd_destroy(&tcmd->work);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(scsi_tgt_free_queue);
|
EXPORT_SYMBOL_GPL(scsi_tgt_free_queue);
|
||||||
|
@ -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));
|
dprintk("cmd %p %lu\n", cmd, rq_data_dir(cmd->request));
|
||||||
|
|
||||||
scsi_tgt_uspace_send_status(cmd, tcmd->tag);
|
scsi_tgt_uspace_send_status(cmd, tcmd->tag);
|
||||||
INIT_WORK(&tcmd->work, scsi_tgt_cmd_destroy, cmd);
|
|
||||||
queue_work(scsi_tgtd, &tcmd->work);
|
queue_work(scsi_tgtd, &tcmd->work);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)
|
static int scsi_tgt_abort_cmd(struct Scsi_Host *shost, struct scsi_cmnd *cmd)
|
||||||
{
|
{
|
||||||
|
struct scsi_tgt_cmd *tcmd;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = shost->hostt->eh_abort_handler(cmd);
|
err = shost->hostt->eh_abort_handler(cmd);
|
||||||
if (err)
|
if (err)
|
||||||
eprintk("fail to abort %p\n", cmd);
|
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;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -646,6 +646,6 @@ void sas_unregister_dev(struct domain_device *);
|
||||||
|
|
||||||
void sas_init_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_ */
|
#endif /* _SASLIB_H_ */
|
||||||
|
|
Loading…
Reference in New Issue