On Sep 25 2007 21:50, Jiri Kosina wrote:
On Tue, 25 Sep 2007, Jan Engelhardt wrote:
The bug is still present in current suse kotd. >:-( Please fix it there. A cc will go to opensuse-kernel@, but other than that, I am in the wrong mood right now to do anything.
Jan,
sorry, I find your forwarded e-mail too confusing. Are you missing some crucial bugfix from 2.6.22-stable in our KOTD? Or does (re)building of KOTD source rpm fail for you?
Simple put: SUSE guys doing backporting work borked it up in the process. The following excerpt is from libata-update-libata-to-libata-dev-upstream-5ddf.patch: --- a/drivers/ata/pata_ali.c 2007-07-08 19:32:17.000000000 -0400 +++ b/drivers/ata/pata_ali.c 2007-08-27 14:03:14.000000000 -0400 @@ -455,23 +455,21 @@ static struct ata_port_operations ali_c5 static void ali_init_chipset(struct pci_dev *pdev) { - u8 rev, tmp; + u8 tmp; struct pci_dev *north, *isa_bridge; - pci_read_config_byte(pdev, PCI_REVISION_ID, &rev); - /* * The chipset revision selects the driver operations and * mode data. */ - if (rev >= 0x20 && rev < 0xC2) { + if (pdev->revision >= 0x20 && pdev->revision < 0xC2) { As you can see, rev is computed somewhere else and can be accessed using pdev->revision. The following is from libata-fix-up-build-after-upstream-update.patch which is applied afterwards according to series.conf: --- a/drivers/ata/pata_ali.c 2007-08-27 14:01:23.000000000 -0400 +++ b/drivers/ata/pata_ali.c 2007-08-27 14:01:23.000000000 -0400 @@ -455,7 +455,7 @@ static struct ata_port_operations ali_c5 static void ali_init_chipset(struct pci_dev *pdev) { - u8 tmp; + u8 rev, tmp; struct pci_dev *north, *isa_bridge; /* @@ -463,13 +463,13 @@ static void ali_init_chipset(struct pci_ * mode data. */ - if (pdev->revision >= 0x20 && pdev->revision < 0xC2) { + if (rev >= 0x20 && rev < 0xC2) { As you can see, the pdev->revision magic is reverted back to 'rev', but rev is now uninitialized. Previously, there was pci_read_config_byte() between struct pci_dev *north and the /*, now there is not. See? -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org