Re: [PATCH] 2.6.xx: sata_mv: another critical fix

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

 



Sander wrote:
>
> The 2.6.16-git3 snapshot is stable for me like -rc6-mm1 and -rc6-mm2
> are :-)
..
> Btw, I do still get these (any kernel), but with no visible effect:
> 
> [ 2306.952183] ata6: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 
0xb/47/00
> [ 2306.952246] ata6: status=0xd0 { Busy }
> [ 2891.892225] ata5: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 
0xb/47/00
> [ 2891.892277] ata5: status=0xd0 { Busy }
> [ 4550.013582] ata6: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 
0xb/47/00
> [ 4550.013637] ata6: status=0xd0 { Busy }
> [ 4864.850340] ata9: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 
0xb/47/00
> [ 4864.850393] ata9: status=0xd0 { Busy }
> [ 4968.681651] ata9: translated ATA stat/err 0xd0/00 to SCSI SK/ASC/ASCQ 
0xb/47/00
> [ 4968.681711] ata9: status=0xd0 { Busy }

The 2.6.16-git3 (and -git4) drivers are still missing the latest critical fix
that started this thread.  Could you apply that also, and see if the messages
above go away?

Thanks.

--- sata_mv.c-2.6.16-git4	2006-03-22 09:41:29.000000000 -0500
+++ sata_mv.c	2006-03-22 09:45:42.000000000 -0500
@@ -37,7 +37,7 @@
 #include <asm/io.h>
 
 #define DRV_NAME	"sata_mv"
-#define DRV_VERSION	"0.6"
+#define DRV_VERSION	"0.6-ml1"
 
 enum {
 	/* BAR's are enumerated in terms of pci_resource_start() terms */
@@ -1263,6 +1263,7 @@
 	void __iomem *port_mmio = mv_ap_base(ap);
 	struct mv_port_priv *pp = ap->private_data;
 	u32 out_ptr;
+	u8 ata_status;
 
 	out_ptr = readl(port_mmio + EDMA_RSP_Q_OUT_PTR_OFS);
 
@@ -1270,6 +1271,8 @@
 	WARN_ON(((out_ptr >> EDMA_RSP_Q_PTR_SHIFT) & MV_MAX_Q_DEPTH_MASK) !=
 		pp->rsp_consumer);
 
+	ata_status = pp->crpb[pp->rsp_consumer].flags >> CRPB_FLAG_STATUS_SHIFT;
+
 	/* increment our consumer index... */
 	pp->rsp_consumer = mv_inc_q_index(&pp->rsp_consumer);
 
@@ -1284,7 +1287,7 @@
 	writelfl(out_ptr, port_mmio + EDMA_RSP_Q_OUT_PTR_OFS);
 
 	/* Return ATA status register for completed CRPB */
-	return (pp->crpb[pp->rsp_consumer].flags >> CRPB_FLAG_STATUS_SHIFT);
+	return ata_status;
 }
 
 /**
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux