net/mlx4: Support shutdown() interface
authorGavin Shan <shangw@linux.vnet.ibm.com>
Tue, 4 Mar 2014 07:35:20 +0000 (15:35 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Mar 2014 01:40:24 +0000 (20:40 -0500)
In kexec scenario, we failed to load the mlx4 driver in the
second kernel because the ownership bit was hold by the first
kernel without release correctly.

The patch adds shutdown() interface so that the ownership can
be released correctly in the first kernel. It also helps avoiding
EEH error happened during boot stage of the second kernel because
of undesired traffic, which can't be handled by hardware during
that stage on Power platform.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Tested-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/main.c

index d711158b0d4b1ab59bb3d1cf8973e8d4936ce853..5a6105f1ba6d83c017ec85a5e8031454eebf7e0e 100644 (file)
@@ -2684,6 +2684,7 @@ static struct pci_driver mlx4_driver = {
        .name           = DRV_NAME,
        .id_table       = mlx4_pci_table,
        .probe          = mlx4_init_one,
+       .shutdown       = mlx4_remove_one,
        .remove         = mlx4_remove_one,
        .err_handler    = &mlx4_err_handler,
 };