Re: sis190

From: Francois Romieu
Date: Sat Jul 02 2005 - 06:38:25 EST


Pascal CHAPPERON <pascal.chapperon@xxxxxxxxxx> :
[...]
> A few lines diff, and now the driver is very stable with or
> without preempted kernel...
>
> I'll be very happy if you can tell me where is the trick.

Probably:
- when it filled the last Tx descriptor sis190_start_xmit()
issued a netif_stop_queue and returned NETDEV_TX_BUSY;
- the asic completed DMAing the packet and acked it;
- sis190_tx_interrupt later released the descriptor and freed the skb;

-> since NETDEV_TX_BUSY assumes that the driver does not play with the skb,
one gets interesting results.

[...]
> I tried it carefully : console, X11 (without nvidia), X11 (with nvidia),
> IRQ sharing between sis190/nvidia, full load : it worked perfectly.

Megateuf Wayne !

[...]
> BTW, can you remove the following printks from the patch ?
> The printks in interrupt functions make dmesg unusuable,
> and the stuff in sis190_get_drvinfo triggers a kernel oops
> when the module is loaded (null pointer assignment).

I'll polish the thing and sprinkle a few netif_msg_xxx() later today.

--
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/