aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Leon <santil@us.ibm.com>2006-10-03 13:24:34 -0400
committerJeff Garzik <jeff@garzik.org>2006-10-05 06:43:23 -0400
commit4347ef15f76dca33ae8da769d6900a468253bda2 (patch)
treed4453425aa3fe5f066a2a742fb9eafd2571c2091
parent6b4223748895ed5b200c8049231567ea399fc0c2 (diff)
[PATCH] ibmveth: kdump interrupt fix
This patch fixes a race that panics the kernel when opening the device after a kdump. Without this patch there is a window where the hypervisor can send an interrupt before all the structures for the kdump ibmveth module are ready (because the hypervisor is not aware that the partition crashed and that the virtual driver is reloading). We close this window by disabling the interrupts before registering the adapter to the hypervisor. This patch depends on the "ibmveth: Harden driver initilisation" patch. Signed-off-by: Santiago Leon <santil@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/ibmveth.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index bd79d67c0e97..2ec49d254530 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -527,6 +527,8 @@ static int ibmveth_open(struct net_device *netdev)
527 ibmveth_debug_printk("filter list @ 0x%p\n", adapter->filter_list_addr); 527 ibmveth_debug_printk("filter list @ 0x%p\n", adapter->filter_list_addr);
528 ibmveth_debug_printk("receive q @ 0x%p\n", adapter->rx_queue.queue_addr); 528 ibmveth_debug_printk("receive q @ 0x%p\n", adapter->rx_queue.queue_addr);
529 529
530 h_vio_signal(adapter->vdev->unit_address, VIO_IRQ_DISABLE);
531
530 lpar_rc = ibmveth_register_logical_lan(adapter, rxq_desc, mac_address); 532 lpar_rc = ibmveth_register_logical_lan(adapter, rxq_desc, mac_address);
531 533
532 if(lpar_rc != H_SUCCESS) { 534 if(lpar_rc != H_SUCCESS) {