[Devel] RE: [PATCH 2.6.19-rc2] scsi: megaraid_{mm, mbox}: 64-bit DMAcapability fix

Ju, Seokmann Seokmann.Ju at lsi.com
Mon Oct 16 13:37:20 PDT 2006


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 at SteelEye.com] 
> Sent: Monday, October 16, 2006 3:35 PM
> To: Vasily Averin
> Cc: Linux Kernel Mailing List; linux-scsi at vger.kernel.org; 
> Ju, Seokmann; Andrew Morton; Linus Torvalds; 
> devel at 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 at sw.ru>
> > Ack-by:		Vasily Averin <vvs at 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
> 
> 
> 




More information about the Devel mailing list