[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210111152029.28426-1-martin.kepplinger@puri.sm>
Date: Mon, 11 Jan 2021 16:20:26 +0100
From: Martin Kepplinger <martin.kepplinger@...i.sm>
To: jejb@...ux.ibm.com, martin.petersen@...cle.com,
stern@...land.harvard.edu, bvanassche@....org
Cc: linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
Martin Kepplinger <martin.kepplinger@...i.sm>
Subject: [PATCH 0/3] scsi: add runtime PM workaround for SD cardreaders
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(-)
--
2.20.1
Powered by blists - more mailing lists