lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 03 Apr 2012 18:15:15 +0600
From:	Mike Sinkovsky <msink@...monline.ru>
To:	Eric Dumazet <eric.dumazet@...il.com>
CC:	netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 0/2] Ethernet drivers for WIZnet chips

03.04.2012 17:39, Eric Dumazet написал:
> On Tue, 2012-04-03 at 16:58 +0600, Mike Sinkovsky wrote:
>> Based on original driver from chip manufacturer, but nearly full rewite.
>> Tested and used in production with Blackfin BF531 embedded processor.
>>
>> Signed-off-by: Mike Sinkovsky<msink@...monline.ru>
>> ---
>> v6:
>>   - remove (S0_TX_FSR<  skb->len) check in TX handler, it doesn't work
>>     anyway. Chip can transmit only one frame with MTU 1500 at a time,
>>     and tx buffer size is bigger.
>
> So what happens if XXX frames are given to start_xmit() in a flood ?
>
> You removed any flow control, how can this work ?
>
> Device has an infinite queue ?

As I understand from datasheet, device doesn't have tx queue at all.
It have tx buffer, processor must save transmitted frame to it, and then 
save SEND command to command register. When transmission completed, 
SENDOK bit in interrupt register will be set to '1', and interrupt 
handler will be called.

So, according to datasheet, driver must stop queue in start_xmit() 
routine, and wake in interrupt handler of SENDOK bit.
I tried this, and it basically works, but SOMETIMES, very rare, I see 
tx_timeout().

And without any flow control - driver works perfectly.
Weird, don't know why.


-- 
Mike

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists