Skip to content

Commit

Permalink
netxen: stop second phy correctly
Browse files Browse the repository at this point in the history
This patch fixes bug that doesn't quiesce second port when interface is
brought down, which could lead to unwarranted interrupt during rmmod /
ifdown.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
dhananjay@netxen.com authored and Jeff Garzik committed Jan 12, 2008
1 parent 001a731 commit 72b0a7a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
8 changes: 3 additions & 5 deletions drivers/net/netxen/netxen_nic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -732,11 +732,6 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev)

unregister_netdev(netdev);

if (adapter->stop_port)
adapter->stop_port(adapter);

netxen_nic_disable_int(adapter);

if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) {
init_firmware_done++;
netxen_free_hw_resources(adapter);
Expand Down Expand Up @@ -919,6 +914,9 @@ static int netxen_nic_close(struct net_device *netdev)
netif_stop_queue(netdev);
napi_disable(&adapter->napi);

if (adapter->stop_port)
adapter->stop_port(adapter);

netxen_nic_disable_int(adapter);

cmd_buff = adapter->cmd_buf_arr;
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/netxen/netxen_nic_niu.c
Original file line number Diff line number Diff line change
Expand Up @@ -736,12 +736,12 @@ int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
__u32 mac_cfg;
u32 port = physical_port[adapter->portnum];

if (port != 0)
if (port > NETXEN_NIU_MAX_XG_PORTS)
return -EINVAL;

mac_cfg = 0;
netxen_xg_soft_reset(mac_cfg);
if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XGE_CONFIG_0,
&mac_cfg, 4))
if (netxen_nic_hw_write_wx(adapter,
NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), &mac_cfg, 4))
return -EIO;
return 0;
}
Expand Down

0 comments on commit 72b0a7a

Please sign in to comment.