Commit ee8c88c
scsi: ufs: core: Fix the polling implementation
Fix the following issues in ufshcd_poll():
- If polling succeeds, return a positive value.
- Do not complete polling requests from interrupt context because the
block layer expects these requests to be completed from thread
context. From block/bio.c:
If REQ_ALLOC_CACHE is set, the final put of the bio MUST be done from
process context, not hard/soft IRQ.
Fixes: eaab9b5 ("scsi: ufs: Implement polling support")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20221118233717.441298-1-bvanassche@acm.org
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>1 parent 4d450cf commit ee8c88c
1 file changed
Lines changed: 26 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5344 | 5344 | | |
5345 | 5345 | | |
5346 | 5346 | | |
| 5347 | + | |
| 5348 | + | |
| 5349 | + | |
| 5350 | + | |
| 5351 | + | |
| 5352 | + | |
| 5353 | + | |
| 5354 | + | |
| 5355 | + | |
| 5356 | + | |
| 5357 | + | |
| 5358 | + | |
| 5359 | + | |
| 5360 | + | |
| 5361 | + | |
| 5362 | + | |
| 5363 | + | |
| 5364 | + | |
| 5365 | + | |
| 5366 | + | |
5347 | 5367 | | |
5348 | 5368 | | |
5349 | 5369 | | |
| |||
5360 | 5380 | | |
5361 | 5381 | | |
5362 | 5382 | | |
| 5383 | + | |
| 5384 | + | |
| 5385 | + | |
| 5386 | + | |
5363 | 5387 | | |
5364 | 5388 | | |
5365 | 5389 | | |
5366 | 5390 | | |
5367 | 5391 | | |
5368 | 5392 | | |
5369 | | - | |
| 5393 | + | |
5370 | 5394 | | |
5371 | 5395 | | |
5372 | 5396 | | |
| |||
5397 | 5421 | | |
5398 | 5422 | | |
5399 | 5423 | | |
5400 | | - | |
| 5424 | + | |
5401 | 5425 | | |
5402 | 5426 | | |
5403 | 5427 | | |
| |||
0 commit comments