mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
scsi: libsas: Add sas_execute_ssp_tmf()
Add a function to issue an SSP TMF. Add a temp prototype to keep make W=1 happy. Link: https://lore.kernel.org/r/1645112566-115804-11-git-send-email-john.garry@huawei.com Tested-by: Yihang Li <liyihang6@hisilicon.com> Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
001ec7f89b
commit
350d85ba5b
|
|
@ -937,6 +937,9 @@ int sas_execute_tmf(struct domain_device *device, void *parameter,
|
|||
task->dev = device;
|
||||
task->task_proto = device->tproto;
|
||||
|
||||
if (!dev_is_sata(device))
|
||||
memcpy(&task->ssp_task, parameter, para_len);
|
||||
|
||||
task->task_done = sas_task_internal_done;
|
||||
task->tmf = tmf;
|
||||
|
||||
|
|
@ -1022,6 +1025,21 @@ int sas_execute_tmf(struct domain_device *device, void *parameter,
|
|||
return res;
|
||||
}
|
||||
|
||||
int sas_execute_ssp_tmf(struct domain_device *device, u8 *lun,
|
||||
struct sas_tmf_task *tmf);
|
||||
int sas_execute_ssp_tmf(struct domain_device *device, u8 *lun,
|
||||
struct sas_tmf_task *tmf)
|
||||
{
|
||||
struct sas_ssp_task ssp_task;
|
||||
|
||||
if (!(device->tproto & SAS_PROTOCOL_SSP))
|
||||
return TMF_RESP_FUNC_ESUPP;
|
||||
|
||||
memcpy(ssp_task.LUN, lun, 8);
|
||||
|
||||
return sas_execute_tmf(device, &ssp_task, sizeof(ssp_task), -1, tmf);
|
||||
}
|
||||
|
||||
/*
|
||||
* Tell an upper layer that it needs to initiate an abort for a given task.
|
||||
* This should only ever be called by an LLDD.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user