|
Description
|
On current code, when fatal interrupt happens, the chip will be stop. According to the nVidia document, we should disable this interrupt in order to avoid interrupt on the same thing.
When watchdog are trigger to find a tx hang, it will keep to pring the same scare information into the syslog, this may scare and be mislead the customer. Should be disabled in the release version. Actually, when happen this situation, the driver can
survive himself.
static boolean_t
nge_factotum_stall_check(nge_t *ngep)
{
uint32_t dogval;
/*
* Specific check for Tx stall ...
*
* The 'watchdog' counter is incremented whenever a packet
* is queued, reset to 1 when some (but not all) buffers
* are reclaimed, reset to 0 (disabled) when all buffers
* are reclaimed, and shifted left here. If it exceeds the
* threshold value, the chip is assumed to have stalled and
* is put into the ERROR state. The factotum will then reset
* it on the next pass.
*
* All of which should ensure that we don't get into a state
* where packets are left pending indefinitely!
*/
dogval = nge_atomic_shl32(&ngep->watchdog, 1);
if (dogval < nge_watchdog_count)
return (B_FALSE);
nge_report(ngep, NGE_HW_ERR); >>>>>>>>>>>Should be deleted.
ngep->statistics.sw_statistics.tx_stall++;
return (B_TRUE);
}
|