Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e1f47c7 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[LLC]: Fix sap refcounting



Thanks to Leslie Harlley Watter <leslie@watter.org> for reporting the
problem an testing this patch.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2342c990
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -187,8 +187,10 @@ static int llc_ui_release(struct socket *sock)
		llc->laddr.lsap, llc->daddr.lsap);
	if (!llc_send_disc(sk))
		llc_ui_wait_for_disc(sk, sk->sk_rcvtimeo);
	if (!sock_flag(sk, SOCK_ZAPPED))
	if (!sock_flag(sk, SOCK_ZAPPED)) {
		llc_sap_put(llc->sap);
		llc_sap_remove_socket(llc->sap, sk);
	}
	release_sock(sk);
	if (llc->dev)
		dev_put(llc->dev);
+0 −1
Original line number Diff line number Diff line
@@ -127,7 +127,6 @@ struct llc_sap *llc_sap_open(unsigned char lsap,
		goto out;
	sap->laddr.lsap = lsap;
	sap->rcv_func	= func;
	llc_sap_hold(sap);
	llc_add_sap(sap);
out:
	write_unlock_bh(&llc_sap_list_lock);