]> www.infradead.org Git - users/jedix/linux-maple.git/commit
SCSI: fix crashes in sd and sr runtime PM
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 20 Jan 2016 16:26:01 +0000 (11:26 -0500)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 26 May 2016 22:44:34 +0000 (15:44 -0700)
commit24fbee81d3bf2c3bcd2ca122058a213dff50defe
tree9a902acb6a6a6cd9b7910a4ad4261c9d2570f30c
parent550af7582d985bab3b18bd6f920389be4f7d56f8
SCSI: fix crashes in sd and sr runtime PM

Orabug: 23330785

[ Upstream commit 13b4389143413a1f18127c07f72c74cad5b563e8 ]

Runtime suspend during driver probe and removal can cause problems.
The driver's runtime_suspend or runtime_resume callbacks may invoked
before the driver has finished binding to the device or after the
driver has unbound from the device.

This problem shows up with the sd and sr drivers, and can cause disk
or CD/DVD drives to become unusable as a result.  The fix is simple.
The drivers store a pointer to the scsi_disk or scsi_cd structure as
their private device data when probing is finished, so we simply have
to be sure to clear the private data during removal and test it during
runtime suspend/resume.

This fixes <https://bugs.debian.org/801925>.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Paul Menzel <paul.menzel@giantmonkey.de>
Reported-by: Erich Schubert <erich@debian.org>
Reported-by: Alexandre Rossi <alexandre.rossi@gmail.com>
Tested-by: Paul Menzel <paul.menzel@giantmonkey.de>
Tested-by: Erich Schubert <erich@debian.org>
CC: <stable@vger.kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 91e65860a7fe55d3d8c150104084b54f2760bc3d)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/scsi/sd.c
drivers/scsi/sr.c