On 24.08.20 22:13, Alan Stern wrote: > On Mon, Aug 24, 2020 at 10:48:32AM -0700, Bart Van Assche wrote: >> On 2020-08-23 07:57, Alan Stern wrote: >>> The problem is fixed by checking that the queue's runtime-PM status >>> isn't RPM_SUSPENDED before allowing a request to be issued, [ ... ] >> >> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> >> >> Can, can you help with testing this patch? >> >> Thanks, >> >> Bart. > > Martin: > > (I forgot to ask this question several weeks ago, while you were running > your tests. Better ask it now before I forget again...) > > I suspect the old runtime-PM code in the block layer would have worked > okay in your SD cardreader test if the BLK_MQ_REQ_PREEMPT flag had not > been set. Do you know why the flag was set, or what line of code caused > it to be set? Correct. if not set, I could handle all I need in the scsi error path. > > As I recall, the request that failed was a read-ahead. It's not clear > to me why such a request would need to have BLK_MQ_REQ_PREEMPT set. > Although there may be other reasons for having that flag, at this point > we're concerned with requests that are part of the runtime-resume > procedure. A read-ahead does not fall into that category. > > Do you think you can find the answer? Perhaps we should add a separate > BLK_MQ_REQ_PM flag. I guess I can but give me some time as I'm on vacations currently. > > Alan Stern >