RE: [PATCH 2.6.19-rc2] scsi: megaraid_{mm, mbox}: 64-bit DMAcapability fix [message #7518] |
Mon, 16 October 2006 20:37 ![Go to next message Go to previous message](/theme/ovz3/images/down.png) |
Seokmann.Ju
Messages: 5 Registered: May 2006
|
Junior Member |
|
|
Hi,
> Er ... this patch would apply in reverse, but what's in the tree
> currently looks to be correct.
No, the patch submitted by Andrey and Vasily should fix the issue.
Without this, driver still claims 64-bit DMA capability for those MegaRAID SATA controllers.
---
Example)
For SATA 150-6 with OLD filter,
if (((1) && ((0) || (1))) || (0) || (0) || (0) || (0) || (0) {
...;
}
driver gets into inside of if clause and set DMA mask with 64-bit which is NOT correct.
However, with the patch,
if (((1) && ((0) && (1))) || (0) || (0) || (0) || (0) || (0) {
...;
}
driver bypasses this filter and stay with 32-bit DMA mask.
---
Seokmann
> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@SteelEye.com]
> Sent: Monday, October 16, 2006 3:35 PM
> To: Vasily Averin
> Cc: Linux Kernel Mailing List; linux-scsi@vger.kernel.org;
> Ju, Seokmann; Andrew Morton; Linus Torvalds;
> devel@openvz.org; Andrey Mirkin
> Subject: Re: [PATCH 2.6.19-rc2] scsi: megaraid_{mm,mbox}:
> 64-bit DMAcapability fix
>
> On Mon, 2006-10-16 at 12:08 +0400, Vasily Averin wrote:
> > It is known that 2 LSI Logic MegaRAID SATA RAID Controllers
> (150-4 and 150-6)
> > don't support 64-bit DMA. Unfortunately currently this
> check is wrong and driver
> > sets 64-bit DMA mode for these devices.
> >
> > Signed-off-by: Andrey Mirkin <amirkin@sw.ru>
> > Ack-by: Vasily Averin <vvs@sw.ru>
> >
> > ---
> linux-2.6.19-rc2/drivers/scsi/megaraid/megaraid_mbox.c.mgst6
> 2006-10-16
> > 10:26:50.000000000 +0400
> > +++ linux-2.6.19-rc2/drivers/scsi/megaraid/megaraid_mbox.c
> 2006-10-16
> > 11:30:55.000000000 +0400
> > @@ -884,7 +884,7 @@ megaraid_init_mbox(adapter_t *adapter)
> >
> > if (((magic64 == HBA_SIGNATURE_64_BIT) &&
> > ((adapter->pdev->subsystem_device !=
> > - PCI_SUBSYS_ID_MEGARAID_SATA_150_6) ||
> > + PCI_SUBSYS_ID_MEGARAID_SATA_150_6) &&
> > (adapter->pdev->subsystem_device !=
> > PCI_SUBSYS_ID_MEGARAID_SATA_150_4))) ||
> > (adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC &&
>
> Er ... this patch would apply in reverse, but what's in the tree
> currently looks to be correct.
>
> James
>
>
>
|
|
|