[Prism54-devel] [PATCH] reset_on_mgmt_timeo (bugs 56,59)

Aurelien slts@free.fr
Thu, 18 Mar 2004 16:40:29 +0100


Hi,
this patch looks better :-) I commited it a few hours ago. Now let's see 
  if it works.

	...And justice for all

Denis Vlasenko wrote:
> On Sunday 07 March 2004 02:32, Aurelien wrote:
> 
>>Hi,
>>First, islpci_reset will reset the card and reset ssid and everything
>>(and it calls islpci_reset_if and isl38xx_interface_reset).
> 
> 
> Aha. Is there code to restore settings (are they remembered anywhere?)
> or should I add such code?
> 
> Let's think about better names:
> islpci_reset -> keep the same name
> islpci_reset_if -> merge into islpci_reset
> 	I see no reason why this code is in separate function
> isl38xx_interface_reset -> isl38xx_initiate_reset
> 	because it basically only starts initialization
> 	by setting reset bit in hw register
> 
> 
>>Now about your patch : this will not help to solve the "NETDEV WATCHDOG:
>>ethx: transmit timed out". Moreover it's a bit dangerous, because
>>islpci_reset will call islpci_mgt_transaction and you can end up with a
>>forever recursive behavior.
> 
> 
> Bad, bad, bad.
> 
> 
>>To reset the device after a "NETDEV WATCHDOG", look at
>>islpci_eth_tx_timeout.
> 
> 
> Here is alternative patch. Should work only 2.6, no effect in 2.4
> (it uses workqueues). Compile tested only.
> --
> vda