Re: GAK!!!! Re: PCI: AMD SATA IDE mode quirk

From: Crane Cai
Date: Mon Feb 25 2008 - 21:16:21 EST


å 2008-02-26Tueç 06:53 +0800ïJeff Garzikåéï
> Alan Cox wrote:
> >> Signed-off-by: Crane Cai <crane.cai@xxxxxxx>
> >> Acked-by: Jeff Garzik <jeff@xxxxxxxxxx>
> >> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> >
> > Vomitted-upon-by: Alan Cox <alan@xxxxxxxxxx>
> >
> >> - if ((pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
> >> - u8 tmp;
> >> + /* set sb600/sb700/sb800 sata to ahci mode */
> >> + u8 tmp;
> >>
> >> + pci_read_config_byte(pdev, PCI_CLASS_DEVICE, &tmp);
> >> + if (tmp == 0x01) {
> >
> > CLASS_DEVICE is cached in pdev->class so why not simply do:
> >
> > if (pdev->class & (1 << 8))
>
> I agree. I [obviously] missed this when I ack'd, mainly ack'ing the
> overall change.
>
> BIOS certainly may modify that PCI config register, but that's before
> the kernel boots. So, using pdev->class is fine.
>
> Jeff

pdev->class is also quirked when resume. We need to reread PCI
configuation on resume.

--
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/