diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-05-17 15:25:38 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-08 23:15:07 -0700 |
commit | 08f7de138ca1a943a7a4bdfc5cba9a47560078a6 (patch) | |
tree | eaa3417606075f9f0ef7ce182def687962342602 /drivers | |
parent | 9522ed1f8edb8f754f5f5349292bed355a2b6400 (diff) |
Connector: Correctly set the error code in case of success when dispatching receive callbacks
commit 663dd6dcaf7e95526e469e91f41972a9c0cca30c upstream.
The recent changes to the connector code introduced this bug where even
when a callback was invoked, we would return an error resulting in
double freeing of the skb. This patch fixes this bug.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/connector/connector.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c index 219d88a0eeae..dde6a0fad408 100644 --- a/drivers/connector/connector.c +++ b/drivers/connector/connector.c @@ -139,6 +139,7 @@ static int cn_call_callback(struct sk_buff *skb) spin_unlock_bh(&dev->cbdev->queue_lock); if (cbq != NULL) { + err = 0; cbq->callback(msg, nsp); kfree_skb(skb); cn_queue_release_callback(cbq); |