Ok, do you want me to regenerate the patch? Praveen On Thu, 2012-06-21 at 09:05 -0700, Dan Williams wrote: > On Mon, Jun 18, 2012 at 11:35 AM, Praveen Murali <pmurali@xxxxxxxxxxxx> wrote: > > I am using the Marvell SAS HBA (MV64460/64461/64462 System Controller, > > Revision B (rev 01)), on a system running Ubuntu 12.04 stock kernel. And > > i am seeing some drive detection issues with SATA drives, mostly during > > hotplugging the drives; the issue gets exaggerated when we keep removing > > and plugging in drives. > > > > From dmesg, after starting the LibATA debugs, it looks like the > > ata_eh_revalidate_and_attach fails because ata_dev_read_id fails to get > > the IDENTIFY command response. I see "both IDENTIFYs aborted, assuming > > NODEV" for all these drives that go undetected. At this point, if I > > unload and reload the mvsas driver, these drives detect fine. So, I > > hooked up a SATA analyzer between the HBA and one of the drives, and > > restarted the test. From what I can see, even though the drive responds > > to the IDENTIFY command, the upper layer detects an error and discards > > the response. On further debugging it was evident that the error was > > being detected in the FIS. > > > > After going thru the mvsas driver, I see that the driver allocates a > > DMA area for an FIS pool (for as many as 33 FIS's) and initializes it to > > 0. And each ATA command is allocated a FIS area from this pool during > > the command prep; but its never cleared. > > > > This change initializes the FIS area before using it and it fixes the > > drive detection issue. I have tested it with kernel 3.2.0. > > > > --- > > drivers/scsi/mvsas/mv_sas.c | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c > > index a4884a5..31bfd4e 100644 > > --- a/drivers/scsi/mvsas/mv_sas.c > > +++ b/drivers/scsi/mvsas/mv_sas.c > > @@ -21,6 +21,16 @@ > > * along with this program; if not, write to the Free Software > > * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 > > * USA > > + * > > + * Changelog: > > + * Praveen Murali <pmurali@xxxxxxxxxxxx> May 15, 2012 > > + * Cleanup and prepare the FIS index before issuing the > > + * ATA command (during prep: mvs_task_prep_ata). This is > > + * to overcome the drive detection issue where the SATA drives > > + * fail to get detected during hotplug since the ATA module > > + * (libATA) detects errors set in the FIS eventhough the SATA > > + * analyzer shows that the IDENTIFY command was successfull. > > + * > > */ > > Hi, > > The changelog will exist in the git history, no need to also append it > to the file. I think this should also be tagged for the -stable tree. > > -- > Dan -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html