qlge: Fix qlge_update_hw_vlan_features to handle if interface is down
authorMarcelo Leitner <mleitner@redhat.com>
Fri, 30 Jan 2015 11:56:01 +0000 (09:56 -0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Feb 2015 01:51:14 +0000 (17:51 -0800)
commit61132bf7fbe3a802df1f68ad08e8ca10d6b30ddc
treefba3cc66ad8d8a2c4b6b402f844b1f87bc61068a
parentbdbbb8527b6f6a358dbcb70dac247034d665b8e4
qlge: Fix qlge_update_hw_vlan_features to handle if interface is down

Currently qlge_update_hw_vlan_features() will always first put the
interface down, then update features and then bring it up again. But it
is possible to hit this code while the adapter is down and this causes a
non-paired call to napi_disable(), which will get stuck.

This patch fixes it by skipping these down/up actions if the interface
is already down.

Fixes: a45adbe8d352 ("qlge: Enhance nested VLAN (Q-in-Q) handling.")
Cc: Harish Patil <harish.patil@qlogic.com>
Signed-off-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlge/qlge_main.c