Thread (11 messages) 11 messages, 3 authors, 2007-02-05

Re: [PATCH 1/2] d80211: Add software RTS support

From: Michael Buesch <hidden>
Date: 2007-02-05 17:47:08

On Monday 05 February 2007 18:43, Ivo van Doorn wrote:
On Monday 05 February 2007 18:28, Jiri Benc wrote:
quoted
On Wed, 31 Jan 2007 20:16:50 +0100, Ivo van Doorn wrote:
quoted
Not all hardware are capable of generating their own RTS frames.
This patch will add support for creating the RTS frame in software,
when the driver requests this through the flag
IEEE80211_HW_SOFTWARE_RTS
It seems this is not the ideal solution. Most of drivers needing
software RTS would need to remember the RTS frame somewhere (as they
need to pass it together with the actual frame).
Well in case of rt2x00 (I am not sure which other drivers also need software RTS)
the rts packet is just inserted inside the packet ring and is treated as a regular
packet/fragment that has just been inserted by the driver.

This patch just adds this additional packet just before the real packet, and in case
the real packet could not be send the rts packet is stored in the
ieee80211_tx_stored_packet structure to be send later.
Ok, I see. But this is not going to work with bcm43xx.

I also sent a fix for rt2x00 to work with my patchset.
quoted
A better solution would be either to pass a pointer to RTS frame data
in tx_control or to create a function returning RTS frame.
In case of rt2x00 this would deliver more problems, especially since it will use
a ring entry to send the rts frame and in case of rt2500usb and rt73usb it will
need a sk_buff structure since it needs to pass it to the device (where the sk_buff
will have some free tx_header_room for the descriptor.)
I don't understand this.
You need to put in into the ring either way.

See my patch.

-- 
Greetings Michael.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help