> > Here is the stack trace I get:
> > I added a trace before calling skb_copy_expand to get the headroom of
> > the buffer before the copy and the headroom asked by the driver.
> >
> > [   83.200261] MESH fwd: skb_headroom=154, needed headroom=24
> 
> Could you also add a similar trace just before calling drv_tx()?

When calling drv_tx() the headroom is not big enough for the driver.

> 
> Maybe we're adding something else to this skb?
> 
> I can't find anything in the ath9k_htc driver that's adding more than
> 23 bytes (it's advertising 24) but clearly the last 8 bytes here are
> failing:
> 
> > [   83.200346] skbuff: skb_under_panic: text:ffffffffa034c028 len:154
> > put:8 head:ffff880213422e00 data:ffff880213422dfa tail:0x94 end:0xc0
> > dev:<NULL>
> 
> Maybe mac80211 is putting something else? It'd have to be

yes mac80211 is adding the security header.
headroom asked to skb_copy_expand should also take sdata->encrypt_headroom into 
account.

cedric

Reply via email to