Commit 396a847e authored by Daniel Ritz's avatar Daniel Ritz Committed by Russell King

[PCMCIA] fix yenta unload oops

Patch from Daniel Ritz

rmmod yenta produces the following oops:
Unable to handle kernel paging request at virtual address d084781e
EIP is at yenta_config_init+0x18f/0x1e0 [yenta]
Process pccardd (pid: 2618, threadinfo=c3236000 task=c988ae60)
parent 227db9fa
...@@ -751,6 +751,9 @@ static void yenta_close(struct pci_dev *dev) ...@@ -751,6 +751,9 @@ static void yenta_close(struct pci_dev *dev)
{ {
struct yenta_socket *sock = pci_get_drvdata(dev); struct yenta_socket *sock = pci_get_drvdata(dev);
/* we don't want a dying socket registered */
pcmcia_unregister_socket(&sock->socket);
/* Disable all events so we don't die in an IRQ storm */ /* Disable all events so we don't die in an IRQ storm */
cb_writel(sock, CB_SOCKET_MASK, 0x0); cb_writel(sock, CB_SOCKET_MASK, 0x0);
exca_writeb(sock, I365_CSCINT, 0); exca_writeb(sock, I365_CSCINT, 0);
...@@ -764,7 +767,6 @@ static void yenta_close(struct pci_dev *dev) ...@@ -764,7 +767,6 @@ static void yenta_close(struct pci_dev *dev)
iounmap(sock->base); iounmap(sock->base);
yenta_free_resources(sock); yenta_free_resources(sock);
pcmcia_unregister_socket(&sock->socket);
pci_set_drvdata(dev, NULL); pci_set_drvdata(dev, NULL);
} }
......
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