Hi Dan, On 10/05/2011 08:59 AM, Dan Carpenter wrote: > Smatch complains that 5694f962964 "ath6kl: pass only unicast frames > for aggregation" > > drivers/net/wireless/ath/ath6kl/txrx.c > 1241 if (conn && ar->intra_bss) { > 1242 skb1 = skb; > 1243 skb = NULL; > ^^^^^^^^^^^ > 1244 } else if (conn && !ar->intra_bss) { > 1245 dev_kfree_skb(skb); > 1246 skb = NULL; > ^^^^^^^^^^^ > 1247 } > 1248 } > 1249 if (skb1) > 1250 ath6kl_data_tx(skb1, ar->net_dev); > 1251 } > 1252 > 1253 datap = (struct ethhdr *) skb->data; > ^^^^^^^^^ > skb can be NULL. Good catch, thanks! I should run smatch more, it's a really nice tool. I think a fix like this would be appropriate. Jouni, what do you think? (I have just copypasted the patch to thunderbird, I'm sure it's white space damaged. Sorry about that.) Kalle --- a/drivers/net/wireless/ath/ath6kl/txrx.c +++ b/drivers/net/wireless/ath/ath6kl/txrx.c @@ -1247,6 +1247,10 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet) } if (skb1) ath6kl_data_tx(skb1, ar->net_dev); + + if (skb == NULL) + /* nothing to deliver up the stack */ + return; } datap = (struct ethhdr *) skb->data; -- 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