> > +static ieee80211_txrx_result > > +ieee80211_rx_h_data(struct ieee80211_txrx_data *rx) > > +{ > > + struct net_device *dev = rx->dev; > > + struct ieee80211_local *local = rx->local; > > + u16 fc; > > + int err; > > + struct sk_buff *skb, *skb2; > > + struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); > > + > > + fc = rx->fc; > > + if (unlikely((fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA)) > > + return TXRX_CONTINUE; > > + > > + err = ieee80211_data_to_8023(rx); > > + if (unlikely(err)) > > + return TXRX_DROP; > > + > > + if ((ieee80211_drop_802_1x_pae(rx, sizeof(struct ethhdr))) || > > + (ieee80211_drop_unencrypted(rx, sizeof(struct ethhdr)))) > > + return TXRX_DROP; > > I like this. > > > + skb = rx->skb; > > + skb->dev = dev; > > skb2 = NULL; > > > > dev->stats.rx_packets++; > > Ok so the stuff that comes after this until the ned of the function is > responsible for delivering the packet. Maybe that should be split out > from the function too into something like ieee80211_deliver_skb()? In > the A-MSDU code you've had to basically copy all this code into the loop > as far as I can tell, something which I'd like to avoid very much. I agree, it will be more readable that way. i'll do the needed changes. > > 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