Message ID | 20210311181423.137646-4-dgilbert@interlog.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | sg: fixes for 5.13/scsi-staging | expand |
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 77fec70b7c2f..b6e06e039d5b 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2624,6 +2624,7 @@ sg_rq_end_io(struct request *rq, blk_status_t status) set_bit(SG_FRQ_DEACT_ORPHAN, srp->frq_bm); } } + set_bit(SG_FRQ_ISSUED, srp->frq_bm); if (test_bit(SG_FRQ_COUNT_ACTIVE, srp->frq_bm)) { int num = atomic_inc_return(&sfp->waiting);
The SG_FRQ_ISSUED flag should be set when the driver knows the block layer has issued a request with blk_execute_rq_nowait(). This flag was set on the line following that nowait() call. However with blk_poll() the request may have already invoked the completion call-back (sg_rq_end_io()) so set this flag there as well. Signed-off-by: Douglas Gilbert <dgilbert@interlog.com> --- drivers/scsi/sg.c | 1 + 1 file changed, 1 insertion(+)