This error seems to be really rare, and we do not know real couse of it. But, in any case, we should check size of head before reducing it. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Reported-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> --- drivers/net/wireless/ath/ath9k/htc_hst.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; -- 1.8.1.2 -- 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