Re: [patch] pci: pci_enable_device_bars() fix

From: James Bottomley
Date: Sat Feb 02 2008 - 11:01:33 EST



On Sat, 2008-02-02 at 10:51 -0500, Jeff Garzik wrote:
> Ingo Molnar wrote:
> > ===================================================================
> > --- linux.orig/drivers/scsi/lpfc/lpfc_init.c
> > +++ linux/drivers/scsi/lpfc/lpfc_init.c
> > @@ -1894,7 +1894,7 @@ lpfc_pci_probe_one(struct pci_dev *pdev,
> > uint16_t iotag;
> > int bars = pci_select_bars(pdev, IORESOURCE_MEM);
> >
> > - if (pci_enable_device_bars(pdev, bars))
> > + if (pci_enable_device_io(pdev))
> > goto out;
>
> Look at the line right above it... AFAICS you want
> pci_enable_device_mem(), if the mask is selecting IORESOURCE_MEM BARs.
>
> Also a CC to linux-scsi and the driver author would be nice, as they are
> the ones with hardware and can verify.
>
> This set of changes seemed like 50% guesswork to me, without consulting
> the authors :( And unlike many changes, you actually have to know the
> hardware [or get clues from surrounding code] to make the change.

Jeff is right, this fix is wrong.

The correct fix is here:

http://marc.info/?l=linux-scsi&m=120196768605031

Ingo, could you please cc linux-scsi on your mails ... it would have
been a complete disaster to have this incorrect patch go in.

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/