Re: [PATCH v2 2/8] hisi_sas: add internal abort in hisi_sas_dev_gone()

2016-08-24 Thread Hannes Reinecke
On 08/24/2016 01:05 PM, John Garry wrote:
> Execute an internal abort for that device when it is removed,
> so that commands for that device are not processed.
> 
> Signed-off-by: John Garry 
> ---
>  drivers/scsi/hisi_sas/hisi_sas_main.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c 
> b/drivers/scsi/hisi_sas/hisi_sas_main.c
> index 763c6c5..c4e59cd 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas_main.c
> +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
> @@ -621,6 +621,9 @@ static void hisi_sas_dev_gone(struct domain_device 
> *device)
>   dev_info(dev, "found dev[%lld:%x] is gone\n",
>sas_dev->device_id, sas_dev->dev_type);
>  
> + hisi_sas_internal_task_abort(hisi_hba, device,
> +  HISI_SAS_INT_ABT_DEV, 0);
> +
>   hisi_hba->hw->free_device(hisi_hba, sas_dev);
>   device->lldd_dev = NULL;
>   memset(sas_dev, 0, sizeof(*sas_dev));
> 
Reviewed-by: Hannes Reinecke 

Cheers,

Hannes
-- 
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)


[PATCH v2 2/8] hisi_sas: add internal abort in hisi_sas_dev_gone()

2016-08-24 Thread John Garry
Execute an internal abort for that device when it is removed,
so that commands for that device are not processed.

Signed-off-by: John Garry 
---
 drivers/scsi/hisi_sas/hisi_sas_main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c 
b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 763c6c5..c4e59cd 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -621,6 +621,9 @@ static void hisi_sas_dev_gone(struct domain_device *device)
dev_info(dev, "found dev[%lld:%x] is gone\n",
 sas_dev->device_id, sas_dev->dev_type);
 
+   hisi_sas_internal_task_abort(hisi_hba, device,
+HISI_SAS_INT_ABT_DEV, 0);
+
hisi_hba->hw->free_device(hisi_hba, sas_dev);
device->lldd_dev = NULL;
memset(sas_dev, 0, sizeof(*sas_dev));
-- 
1.9.1