Re: sis190

Francois Romieu
2005-07-02T11:36:36Z

Pascal CHAPPERON <pascal.chapperon@wanadoo.fr> :
[...]
> 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