Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72b0a7a8 authored by dhananjay@netxen.com's avatar dhananjay@netxen.com Committed by Jeff Garzik
Browse files

netxen: stop second phy correctly



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: default avatarDhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 001a731e
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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);
@@ -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;
+4 −4
Original line number Diff line number Diff line
@@ -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;
}