Revert "yenta free_irq on suspend"
ACPI is wrong. Devices should not release their IRQ's on suspend and
re-aquire them on resume. ACPI should just re-init the IRQ controller
instead of breaking most drivers very subtly.
Breakage reported by Hugh Dickins <hugh@veritas.com>
Undo: d8c4b4195c
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
035a4a4f89
commit
889371f61f
|
@ -1107,8 +1107,6 @@ static int yenta_dev_suspend (struct pci_dev *dev, pm_message_t state)
|
|||
pci_read_config_dword(dev, 17*4, &socket->saved_state[1]);
|
||||
pci_disable_device(dev);
|
||||
|
||||
free_irq(dev->irq, socket);
|
||||
|
||||
/*
|
||||
* Some laptops (IBM T22) do not like us putting the Cardbus
|
||||
* bridge into D3. At a guess, some other laptop will
|
||||
|
@ -1134,13 +1132,6 @@ static int yenta_dev_resume (struct pci_dev *dev)
|
|||
pci_enable_device(dev);
|
||||
pci_set_master(dev);
|
||||
|
||||
if (socket->cb_irq)
|
||||
if (request_irq(socket->cb_irq, yenta_interrupt,
|
||||
SA_SHIRQ, "yenta", socket)) {
|
||||
printk(KERN_WARNING "Yenta: request_irq() failed on resume!\n");
|
||||
socket->cb_irq = 0;
|
||||
}
|
||||
|
||||
if (socket->type && socket->type->restore_state)
|
||||
socket->type->restore_state(socket);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue