Commit 1116edbf authored by Andrew Morton's avatar Andrew Morton Committed by Greg Kroah-Hartman

[PATCH] PCI: fix up usb quirk __init marks

Lukas Hejtmanek <xhejtman@fi.muni.cz> wrote:
>
> Unable to handle kernel paging request at virtual address 0000ffff
>   printing eip:
>  c0402097
>  *pde = 00000000
>  Oops: 0002 [#1]
>  PREEMPT
>  Modules linked in: yenta_socket pcmcia_core i830 ehci_hcd uhci_hcd rtc
>  CPU:    0
>  EIP:    0060:[<c0402097>]    Tainted:  P   VLI
>  EFLAGS: 00010246   (2.6.9-rc2-mm2)
>  EIP is at quirk_usb_early_handoff+0x0/0x3e
>  eax: 0000ffff   ebx: c035d954   ecx: c6866000   edx: 00020000
>  esi: c6866000   edi: c035da4c   ebp: ceede380   esp: c7f4bed8
>  ds: 007b   es: 007b   ss: 0068
>  Process pccardd (pid: 3386, threadinfo=c7f4a000 task=c5ea2d70)
>  Stack: c01d2076 c6866000 c6866000 ceede380 00000000 c01d20ba c6866000 c035d81c
>         c035da4c c01d01ce 00000000 c6866000 00000000 00000000 c01d0214 ceede380
>         00000000 c686642c ceede380 ceede394 c7f4a000 cfbdd0de ceede380 00000000
>  Call Trace:
>   [<c01d2076>] pci_do_fixups+0x49/0x4b

Well quirk_usb_early_handoff() should be __devinit, not __init.

There are a few other things in there which look hotpluggy, and are marked
__init.  The whole thing needs a review.
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent fb4f4e08
......@@ -866,7 +866,7 @@ static int __init usb_handoff_early(char *str)
}
__setup("usb-handoff", usb_handoff_early);
static void __init quirk_usb_handoff_uhci(struct pci_dev *pdev)
static void __devinit quirk_usb_handoff_uhci(struct pci_dev *pdev)
{
unsigned long base = 0;
int wait_time, delta;
......@@ -919,7 +919,7 @@ static void __init quirk_usb_handoff_uhci(struct pci_dev *pdev)
}
static void __init quirk_usb_handoff_ohci(struct pci_dev *pdev)
static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev)
{
void __iomem *base;
int wait_time;
......@@ -949,7 +949,7 @@ static void __init quirk_usb_handoff_ohci(struct pci_dev *pdev)
iounmap(base);
}
static void __init quirk_usb_disable_ehci(struct pci_dev *pdev)
static void __devinit quirk_usb_disable_ehci(struct pci_dev *pdev)
{
int wait_time, delta;
void __iomem *base, *op_reg_base;
......@@ -1039,7 +1039,7 @@ static void __init quirk_usb_disable_ehci(struct pci_dev *pdev)
static void __init quirk_usb_early_handoff(struct pci_dev *pdev)
static void __devinit quirk_usb_early_handoff(struct pci_dev *pdev)
{
if (!usb_early_handoff)
return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment