Larry Finger wrote: > diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c > b/drivers/net/wireless/ath/ath9k/htc_hst.c > index 4a9570d..a304748 100644 > --- a/drivers/net/wireless/ath/ath9k/htc_hst.c > +++ b/drivers/net/wireless/ath/ath9k/htc_hst.c > @@ -278,10 +278,12 @@ int htc_connect_service(struct htc_target *target, > if (!time_left) { > dev_err(target->dev, "Service connection timeout for: %d\n", > service_connreq->service_id); > - return -ETIMEDOUT; > + ret = -ETIMEDOUT; > + goto err; > } > > *conn_rsp_epid = target->conn_rsp_epid; > + kfree_skb(skb); > return 0; > err: > kfree_skb(skb);
The allocated skb should be freed in the TX completion hander, ath9k_htc_txcompletion_cb() - doing it in htc_connect_service() is wrong, I think. Sujith -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/