android_kernel_motorola_sm6225/drivers/net/netxen
Dhananjay Phadke 6a581e9398 netxen: firmware hang detection
Implement state machine to detect firmware hung state
and recover. Since firmware will be shared by all PCI
functions that have different class drivers (NIC or
FCOE or iSCSI), explicit hardware based serialization
is required for initializing firmware.

o Used global scratchpad register to maintain device
  reference count. Every probed pci function adds to
  ref count.

o Implement timer (delayed work) for each pci func
  that checks firmware heartbit every 5 sec and detaches
  itself if firmware is dead. Last detaching function
  reloads firmware. Other functions wait for firmware
  init, and re-attach themselves.

Heartbit is not supported by NX2031 firmware.

Signed-off-by: Amit Kumar Salecha <amit@netxen.com>
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-07 01:53:06 -07:00
..
Makefile netxen: remove netxen_nic_niu.c 2009-08-26 15:29:19 -07:00
netxen_nic.h netxen: firmware hang detection 2009-09-07 01:53:06 -07:00
netxen_nic_ctx.c netxen: firmware hang detection 2009-09-07 01:53:06 -07:00
netxen_nic_ethtool.c netdev: drivers should make ethtool_ops const 2009-09-02 01:03:33 -07:00
netxen_nic_hdr.h netxen: firmware hang detection 2009-09-07 01:53:06 -07:00
netxen_nic_hw.c netxen: handle firmware load errors 2009-09-07 01:53:01 -07:00
netxen_nic_hw.h netxen: remove unused code 2009-08-26 15:29:15 -07:00
netxen_nic_init.c netxen: handle firmware load errors 2009-09-07 01:53:01 -07:00
netxen_nic_main.c netxen: firmware hang detection 2009-09-07 01:53:06 -07:00