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
[SCSI Target Devel]
[Linux SCSI Target Infrastructure]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photos]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Linux IIO]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]