Re: [PATCH] 2.6.0-test9 Fix oops in quirk_via_bridge

From: Michael Clark
Date: Fri Oct 31 2003 - 04:58:50 EST


On 10/31/03 17:49, Russell King wrote:
On Fri, Oct 31, 2003 at 05:42:07PM +0800, Michael Clark wrote:

Strangely making the quirk and its data __devinit solves the problem
(as is most of the other stuff in pci/quirks.c). Not sure if it is
the correct fix but it works for me. ie. why did I get the oops
in the first place? as the quirks data was global and not marked
for an __init section.


The function was marked as __init. I'd strongly recommend against
marking the data with __devinitdata since its used elsewhere in the
kernel by non-init code.

Sure, okay. So just consider my post a bug report then as i'm not
sure what the correct fix is (i'll stick with my patch so I can
continue to use firewire on my laptop in the meantime).

--- linux-2.6.0-test9/drivers/pci/quirks.c 2003-10-31 16:49:25.000000000 +0800
+++ linux-2.6.0-test9-mc/drivers/pci/quirks.c 2003-10-31 16:49:57.000000000 +0800
@@ -644,9 +644,9 @@
* VIA northbridges care about PCI_INTERRUPT_LINE
*/
-int interrupt_line_quirk;
+__devinitdata int interrupt_line_quirk;

-static void __init quirk_via_bridge(struct pci_dev *pdev)
+static void __devinit quirk_via_bridge(struct pci_dev *pdev)
{
if(pdev->devfn == 0)
interrupt_line_quirk = 1;


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