|
@@ -197,10 +197,8 @@ 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)) {
|
|
|
- llc_sap_put(llc->sap);
|
|
|
+ if (!sock_flag(sk, SOCK_ZAPPED))
|
|
|
llc_sap_remove_socket(llc->sap, sk);
|
|
|
- }
|
|
|
release_sock(sk);
|
|
|
if (llc->dev)
|
|
|
dev_put(llc->dev);
|
|
@@ -352,7 +350,6 @@ static int llc_ui_bind(struct socket *sock, struct sockaddr *uaddr, int addrlen)
|
|
|
rc = -EBUSY; /* some other network layer is using the sap */
|
|
|
if (!sap)
|
|
|
goto out;
|
|
|
- llc_sap_hold(sap);
|
|
|
} else {
|
|
|
struct llc_addr laddr, daddr;
|
|
|
struct sock *ask;
|