scsi: hisi_sas: use atomic64_t for hisi_sas_device.running_req
authorJohn Garry <john.garry@huawei.com>
Mon, 7 Nov 2016 12:48:39 +0000 (20:48 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 25 Nov 2016 14:54:40 +0000 (09:54 -0500)
commitf696cc32b5984eb73f6b1ff81929ca9e5ea22d6d
tree387bef15e11b8bd3ea913f6983596de20cf22298
parent04708ff4c29522927de46424637e5a7c835a2e88
scsi: hisi_sas: use atomic64_t for hisi_sas_device.running_req

Sometimes the value of hisi_sas_device.running_req
would go negative unless we have the check for
running_req >= 0 before trying to decrement.

This is because using running_req is not thread-safe.

As such, the value for running_req may be actually incorrect,
so use atomic64_t instead.

Signed-off-by: John Garry <john.garry@huawei.com>
Reviewed-by: Xiang Chen <chenxiang66@hisilicon.com>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas.h
drivers/scsi/hisi_sas/hisi_sas_main.c
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c