diff options
author | Subhash Jadavani <subhashj@codeaurora.org> | 2018-05-03 16:37:18 +0530 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-05-18 12:20:48 -0400 |
commit | 38135535dcc25af856336fda31aeef79d8ad9dab (patch) | |
tree | 8e1b74cad3a3f72ba6aec9f9b98d1ac9be5faff9 /lib/of-reconfig-notifier-error-inject.c | |
parent | b334456ec2021b1addc19806990115e69ec4ac32 (diff) |
scsi: ufs: add reference counting for scsi block requests
Currently we call the scsi_block_requests()/scsi_unblock_requests()
whenever we want to block/unblock scsi requests but as there is no
reference counting, nesting of these calls could leave us in undesired
state sometime. Consider following call flow sequence:
1. func1() calls scsi_block_requests() but calls func2() before
calling scsi_unblock_requests()
2. func2() calls scsi_block_requests()
3. func2() calls scsi_unblock_requests()
4. func1() calls scsi_unblock_requests()
As there is no reference counting, we will have scsi requests unblocked
after #3 instead of it to be unblocked only after #4. Though we may not
have failures seen with this, we might run into some failures in future.
Better solution would be to fix this by adding reference counting.
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'lib/of-reconfig-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions