On Sat, May 8, 2010 at 11:40 PM, Gertjan van Wingerde <gwingerde@xxxxxxxxx> wrote: > According to the Ralink vendor driver for rt2800 we don't need a full > TXD for a beacon but just a TXWI in front of the actual beacon. > Fix the rt2800pci and rt2800usb beaconing code accordingly. > > Signed-off-by: Gertjan van Wingerde <gwingerde@xxxxxxxxx> > --- > drivers/net/wireless/rt2x00/rt2800pci.c | 17 +++++++++-------- > drivers/net/wireless/rt2x00/rt2800usb.c | 14 ++++++-------- > 2 files changed, 15 insertions(+), 16 deletions(-) > > diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c > index 80c6768..7d4778d 100644 > --- a/drivers/net/wireless/rt2x00/rt2800pci.c > +++ b/drivers/net/wireless/rt2x00/rt2800pci.c > @@ -682,7 +682,6 @@ static void rt2800pci_write_beacon(struct queue_entry *entry, > struct txentry_desc *txdesc) > { > struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; > - struct skb_frame_desc *skbdesc = get_skb_frame_desc(entry->skb); > unsigned int beacon_base; > u32 reg; > > @@ -695,15 +694,17 @@ static void rt2800pci_write_beacon(struct queue_entry *entry, > rt2800_register_write(rt2x00dev, BCN_TIME_CFG, reg); > > /* > - * Write entire beacon with descriptor to register. > + * Add the TXWI for the beacon to the skb. > + */ > + rt2800_write_txwi(entry->skb, txdesc); > + skb_push(entry->skb, TXWI_DESC_SIZE); This looks quite suspicious... First writing into the SKB and only then making room for it? Perhaps we should make sure rt2800_write_txwi demands the room is already added (or it calls skb_push itself). Ivo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html