]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os
authorSreekanth Reddy <sreekanth.reddy@avagotech.com>
Tue, 30 Jun 2015 06:55:05 +0000 (12:25 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 20 Oct 2015 19:29:31 +0000 (15:29 -0400)
commitc668e7133aa41d37e6f3bd2d8695a3a61c232a1f
treee88baed575f56336c6f37549c435c6f53786d9b9
parentdf3dae51743ff7ae1c4d023968dcb4246255a0fb
mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os

Issue: When the disks are getting discovered and assigned device
handles by the kernel, a device block followed by an unblock
(due to broadcast primitives) issued by the driver is
interspersed by the kernel changing the state of the device.
Therefore the unblock by the driver results in a no operation
within the kernel API.

To fix this one, the below patch checks the return of the unblock API
and performs a block followed by an unblock to unfreeze the block
layer's I/O queue. Sufficient checks and prints are also added in the
driver to identify this condition caused by the kernel.

Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
(cherry picked from commit df838f92f3f5240dca54e1629e8547818e8ea646)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_scsih.c