Re: [PATCH 1/1] scsi : megaraid_{mm,mbox}: a fix on 64-bit DMAcapability check

From: James Bottomley
Date: Fri May 19 2006 - 17:28:12 EST


On Fri, 2006-05-19 at 09:09 -0600, Ju, Seokmann wrote:

> + adapter->pdev->device == PCI_DEVICE_ID_LINDSAY)) {
> + if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK) !=
> 0) {
> + con_log(CL_ANN, (KERN_WARNING
> + "megaraid: could not set DMA mask for
> 64-bit.\n"));
>
> - goto out_free_sysfs_res;

Well, this really isn't quite right. There are 32 bit platforms which
will refuse a 64 bit DMA mask on principle. You need to retry with a 32
bit mask before erroring out, exactly like you've done in megaraid_sas.c

Also, it's a bit strange having a 32 bit mask set initially in probe_one
and then being reset in init_mbox. Why not just consolidate all the PCI
register testing and mask setting in probe_one?

James


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