On Fri, Mar 31, 2017 at 09:50:30AM -0400, Joe Korty wrote: > [PATCH] scsi: mpt3sas: fix hang on ata passthrough commands > > commit 16236802bfecb1082144a48b7d6fa60997824662 upstream > commit ffb58456589443ca572221fabbdef3db8483a779 upstream > > Lockdep complains that the base level-only hctx->lock > is being grabbed from interrupt level, at the time the > mpt3sas driver initializes. This is a result of two > of three tightly interconnected mpt3sas bugfix patches > having been backported into 4.4. The previously two ported > patches are: > > > From: Andrey Grodzovsky <andrey2805@xxxxxxxxx> > > Date: Thu, 10 Nov 2016 09:35:27 -0500 > > Subject: [PATCH] scsi: mpt3sas: Fix secure erase premature termination > > Git-Commit: ffffc1ed47e76d13cafbc645792ca184331b3123 > > > From: Suganath Prabu S <suganath-prabu.subramani@xxxxxxxxxxxx> > > Date: Thu, 17 Nov 2016 16:15:58 +0530 > > Subject: [PATCH] scsi: mpt3sas: Unblock device after controller reset > > Git-Commit: 6eddf5c993dd9bf4efcf2509e4ca633b9441a66a > > The missing third patch is attached below. > > Signed-off-by: Joe Korty <joe.korty@xxxxxxxx> > > > > From: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > > Date: Sun, 1 Jan 2017 09:39:24 -0800 > > Subject: [PATCH] scsi: mpt3sas: fix hang on ata passthrough commands > > Git-Commit: 16236802bfecb1082144a48b7d6fa60997824662 > > commit ffb58456589443ca572221fabbdef3db8483a779 upstream. > > mpt3sas has a firmware failure where it can only handle one pass through > ATA command at a time. If another comes in, contrary to the SAT > standard, it will hang until the first one completes (causing long > commands like secure erase to timeout). The original fix was to block > the device when an ATA command came in, but this caused a regression > with > > commit 669f044170d8933c3d66d231b69ea97cb8447338 > Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> > Date: Tue Nov 22 16:17:13 2016 -0800 > > scsi: srp_transport: Move queuecommand() wait code to SCSI core > > So fix the original fix of the secure erase timeout by properly > returning SAM_STAT_BUSY like the SAT recommends. The original patch > also had a concurrency problem since scsih_qcmd is lockless at that > point (this is fixed by using atomic bitops to set and test the flag). > > [mkp: addressed feedback wrt. test_bit and fixed whitespace] > > Fixes: 18f6084a989ba1b (mpt3sas: Fix secure erase premature termination) > Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Acked-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> > Tested-by: Ingo Molnar <mingo@xxxxxxxxxx> > Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> I signed off on this patch? When? Where? totall confused here, greg k-h