diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c b/drivers/net/wireless/ath/ath9k/htc_hst.c index aac4a40..2901351 100644 --- a/drivers/net/wireless/ath/ath9k/htc_hst.c +++ b/drivers/net/wireless/ath/ath9k/htc_hst.c @@ -26,6 +26,12 @@ static int htc_issue_send(struct htc_target *target, struct sk_buff* skb, struct htc_endpoint *endpoint = &target->endpoint[epid]; int status; + if (skb_headroom(skb) < len && + pskb_expand_head(skb, len, 0, GFP_ATOMIC)) { + dev_err(target->dev, "Unable to expand headrom to %d\n", len); + return -ENOMEM; + } + hdr = (struct htc_frame_hdr *) skb_push(skb, sizeof(struct htc_frame_hdr)); hdr->endpoint_id = epid;