Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Conflicts: drivers/net/wimax/i2400m/usb-notif.c
This commit is contained in:
@ -467,7 +467,7 @@ static int xs_sendpages(struct socket *sock, struct sockaddr *addr, int addrlen,
|
||||
int err, sent = 0;
|
||||
|
||||
if (unlikely(!sock))
|
||||
return -ENOTCONN;
|
||||
return -ENOTSOCK;
|
||||
|
||||
clear_bit(SOCK_ASYNC_NOSPACE, &sock->flags);
|
||||
if (base != 0) {
|
||||
@ -577,6 +577,8 @@ static int xs_udp_send_request(struct rpc_task *task)
|
||||
req->rq_svec->iov_base,
|
||||
req->rq_svec->iov_len);
|
||||
|
||||
if (!xprt_bound(xprt))
|
||||
return -ENOTCONN;
|
||||
status = xs_sendpages(transport->sock,
|
||||
xs_addr(xprt),
|
||||
xprt->addrlen, xdr,
|
||||
@ -594,6 +596,10 @@ static int xs_udp_send_request(struct rpc_task *task)
|
||||
}
|
||||
|
||||
switch (status) {
|
||||
case -ENOTSOCK:
|
||||
status = -ENOTCONN;
|
||||
/* Should we call xs_close() here? */
|
||||
break;
|
||||
case -EAGAIN:
|
||||
xs_nospace(task);
|
||||
break;
|
||||
@ -693,6 +699,10 @@ static int xs_tcp_send_request(struct rpc_task *task)
|
||||
}
|
||||
|
||||
switch (status) {
|
||||
case -ENOTSOCK:
|
||||
status = -ENOTCONN;
|
||||
/* Should we call xs_close() here? */
|
||||
break;
|
||||
case -EAGAIN:
|
||||
xs_nospace(task);
|
||||
break;
|
||||
@ -1512,7 +1522,7 @@ static void xs_udp_connect_worker4(struct work_struct *work)
|
||||
struct socket *sock = transport->sock;
|
||||
int err, status = -EIO;
|
||||
|
||||
if (xprt->shutdown || !xprt_bound(xprt))
|
||||
if (xprt->shutdown)
|
||||
goto out;
|
||||
|
||||
/* Start by resetting any existing state */
|
||||
@ -1553,7 +1563,7 @@ static void xs_udp_connect_worker6(struct work_struct *work)
|
||||
struct socket *sock = transport->sock;
|
||||
int err, status = -EIO;
|
||||
|
||||
if (xprt->shutdown || !xprt_bound(xprt))
|
||||
if (xprt->shutdown)
|
||||
goto out;
|
||||
|
||||
/* Start by resetting any existing state */
|
||||
@ -1637,6 +1647,9 @@ static int xs_tcp_finish_connecting(struct rpc_xprt *xprt, struct socket *sock)
|
||||
write_unlock_bh(&sk->sk_callback_lock);
|
||||
}
|
||||
|
||||
if (!xprt_bound(xprt))
|
||||
return -ENOTCONN;
|
||||
|
||||
/* Tell the socket layer to start connecting... */
|
||||
xprt->stat.connect_count++;
|
||||
xprt->stat.connect_start = jiffies;
|
||||
@ -1657,7 +1670,7 @@ static void xs_tcp_connect_worker4(struct work_struct *work)
|
||||
struct socket *sock = transport->sock;
|
||||
int err, status = -EIO;
|
||||
|
||||
if (xprt->shutdown || !xprt_bound(xprt))
|
||||
if (xprt->shutdown)
|
||||
goto out;
|
||||
|
||||
if (!sock) {
|
||||
@ -1717,7 +1730,7 @@ static void xs_tcp_connect_worker6(struct work_struct *work)
|
||||
struct socket *sock = transport->sock;
|
||||
int err, status = -EIO;
|
||||
|
||||
if (xprt->shutdown || !xprt_bound(xprt))
|
||||
if (xprt->shutdown)
|
||||
goto out;
|
||||
|
||||
if (!sock) {
|
||||
|
Reference in New Issue
Block a user