Search Linux Wireless

Re: [PATCH v1 1/6] mac80211: move flag IEEE80211_TX_CTL_ASSIGN_SEQ into info->control.flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2014-02-25 at 14:31 +0100, Thomas Hühn wrote:

> > I'm not convinced this patch is correct, so you need to convince me.
> > What happens to software-retry frames? They probably *shouldn't* get a
> > new seqno, but if the driver doesn't modify the SKB (say because
> > hardware/firmware assigns it) then this is certainly not right.
> 
> As far as I can see, software-retry frames get in status.c the flag
> IEEE80211_TX_INTFL_RETRANSMISSION
> assigned (in function ieee80211_handle_filtered_frame). And this flag
> prevents in function
> invoke_tx_handlers() the call of ieee80211_tx_h_sequence(), so there
> is not new seqno assigned in case of a software-retry within tx.c.

Right, but if IEEE80211_TX_CTL_ASSIGN was set then it also isn't
cleared.

> But in case of a software retry there is info->control set to zero.
> After I would move IEEE80211_TX_CTL_ASSIGN_SEQ into
> info->control.flags this flag is zero.
> Hence also drivers do not assign a new sequence number.

But now the frame might not have *any* sequence number assigned at all,
if e.g. the firmware assigns sequence numbers and they're not written
back to the frame. Thus I think you're losing the entire sequence number
assignment in this case.

johannes

--
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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux