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