Re: problems with sata_mv and MV88SX5081 under 2.6.28, fine under 2.6.17.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mark,

The fix does indeed allow the cards to function normally under 2.6.28.

many thanks for all the work - now all I have to do is try and figure
out how to recover this array without going to backup if I can help
it :(

Oh well, if it as easy, everybody would be doing it :)


On Thu, 2009-01-15 at 14:37 -0500, Mark Lord wrote:
> > Eamonn Hamilton wrote:
> >> Hi Mark.
> >>
> >> It bisected down to the following:
> >>
> >> e3472cbe5c10a91c737405cd706142787736392c is first bad commit
> >> commit e3472cbe5c10a91c737405cd706142787736392c
> >> Author: Albert Lee <albertcc@xxxxxxxxxx>
> >> Date:   Thu Dec 7 11:37:58 2006 +0800
> >>
> >> libata: let ATA_FLAG_PIO_POLLING use polling pio for ATA_PROT_NODATA
> >>
> >> Even if ATA_FLAG_PIO_POLLING is set, libata uses irq pio for the 
> >> ATA_PROT_NODATA protocol.
> >> This patch let ATA_FLAG_PIO_POLLING use polling pio for the 
> >> ATA_PROT_NODATA protocol.
> >>
> >> Signed-off-by: Albert Lee <albertcc@xxxxxxxxxx>
> >> Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>
> >> ---
> > ..
> >> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> >> index 8816e30..d2e6863 100644
> >> --- a/drivers/ata/libata-core.c
> >> +++ b/drivers/ata/libata-core.c
> >> @@ -4960,6 +4960,7 @@ unsigned int ata_qc_issue_prot(struct 
> >> ata_queued_cmd *qc)
> >>     if (ap->flags & ATA_FLAG_PIO_POLLING) {
> >>         switch (qc->tf.protocol) {
> >>         case ATA_PROT_PIO:
> >> +        case ATA_PROT_NODATA:
> >>         case ATA_PROT_ATAPI:
> >>         case ATA_PROT_ATAPI_NODATA:
> >>             qc->tf.flags |= ATA_TFLAG_POLLING;
> >>
> > ..
> >> Now, why it dies after that, I don't know, it's one flag being added.
> ..
> 
> Eamonn,
> 
> Have you tried testing with the latest sata_mv fix?
> This fixes interrupt problems with all 8-port sata_mv chips,
> including the one you have access to.
> 
> Please give this patch a try and report back.  Thanks.
> The patch is against 2.6.28, but will probably apply
> to several earlier kernel versions as well.
> 
> --- linux-2.6.28/drivers/ata/sata_mv.c	2009-01-13 15:57:11.000000000 -0500
> +++ linux/drivers/ata/sata_mv.c	2009-01-14 16:56:38.000000000 -0500
> @@ -883,7 +883,7 @@
>  		struct mv_host_priv *hpriv = ap->host->private_data;
>  		int hardport = mv_hardport_from_port(ap->port_no);
>  		void __iomem *hc_mmio = mv_hc_base_from_port(
> -					mv_host_base(ap->host), hardport);
> +					mv_host_base(ap->host), ap->port_no);
>  		u32 hc_irq_cause, ipending;
>  
>  		/* clear EDMA event indicators, if any */
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux