mbox series

[0/3] scsi: add runtime PM workaround for SD cardreaders

Message ID 20210111152029.28426-1-martin.kepplinger@puri.sm (mailing list archive)
Headers show
Series scsi: add runtime PM workaround for SD cardreaders | expand

Message

Martin Kepplinger Jan. 11, 2021, 3:20 p.m. UTC
hi,

In short: there are SD cardreaders that send MEDIA_CHANGED on
runtime resume. We cannot use runtime PM with these devices as
I/O basically always fails. I'd like to discuss a way to fix this
or at least allow users to work around this problem:

For the full background, the discussion started in June 2020 here:
https://lore.kernel.org/linux-scsi/20200623111018.31954-1-martin.kepplinger@puri.sm/

and I sent the first of these patches in August, as a reference:
https://lore.kernel.org/linux-scsi/20200824190400.12339-1-martin.kepplinger@puri.sm/
so this is where I'm following up on.

I'm not sure whether maintaining an in-kernel quirk for specific devices
makes sense so here I suggest adding a userspace setting. Of course we should
document it properly if this makes sense to you. But this way there's at least
a chance to use runtime PM for sd cardreaders that send MEDIA_CHANGED.

Questions would be:
* Do you like the approach of a user+internal flag?
* what to do in scsi drivers that ignore the flag? Is documentation enough?
* review the *clearing* of the (internal) flag once again. the first
  occurrence of MEDIA_CHANGED should do that only. (note to myself)

I'd appreciate any feedback.


Martin Kepplinger (3):
  scsi: add expecting_media_change flag to error path
  scsi: add expect_media_change_suspend sysfs device setting
  scsi: sd: add support for expect_media_change_suspend flag

 drivers/scsi/scsi_error.c  | 36 +++++++++++++++++++++++++++++++-----
 drivers/scsi/scsi_sysfs.c  | 38 ++++++++++++++++++++++++++++++++++++++
 drivers/scsi/sd.c          | 21 ++++++++++++++++++++-
 include/scsi/scsi_device.h |  3 +++
 4 files changed, 92 insertions(+), 6 deletions(-)