projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[NET]: cleanup extra semicolons
[powerpc.git]
/
net
/
irda
/
af_irda.c
diff --git
a/net/irda/af_irda.c
b/net/irda/af_irda.c
index
17699ee
..
baca156
100644
(file)
--- a/
net/irda/af_irda.c
+++ b/
net/irda/af_irda.c
@@
-132,13
+132,13
@@
static void irda_disconnect_indication(void *instance, void *sap,
/* Prevent race conditions with irda_release() and irda_shutdown() */
if (!sock_flag(sk, SOCK_DEAD) && sk->sk_state != TCP_CLOSE) {
/* Prevent race conditions with irda_release() and irda_shutdown() */
if (!sock_flag(sk, SOCK_DEAD) && sk->sk_state != TCP_CLOSE) {
+ lock_sock(sk);
sk->sk_state = TCP_CLOSE;
sk->sk_err = ECONNRESET;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_state_change(sk);
sk->sk_state = TCP_CLOSE;
sk->sk_err = ECONNRESET;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_state_change(sk);
- /* Uh-oh... Should use sock_orphan ? */
- sock_set_flag(sk, SOCK_DEAD);
+ release_sock(sk);
/* Close our TSAP.
* If we leave it open, IrLMP put it back into the list of
/* Close our TSAP.
* If we leave it open, IrLMP put it back into the list of
@@
-157,7
+157,7
@@
static void irda_disconnect_indication(void *instance, void *sap,
irttp_close_tsap(self->tsap);
self->tsap = NULL;
}
irttp_close_tsap(self->tsap);
self->tsap = NULL;
}
-
}
+ }
/* Note : once we are there, there is not much you want to do
* with the socket anymore, apart from closing it.
/* Note : once we are there, there is not much you want to do
* with the socket anymore, apart from closing it.
@@
-220,7
+220,7
@@
static void irda_connect_confirm(void *instance, void *sap,
break;
default:
self->max_data_size = irttp_get_max_seg_size(self->tsap);
break;
default:
self->max_data_size = irttp_get_max_seg_size(self->tsap);
- }
;
+ }
IRDA_DEBUG(2, "%s(), max_data_size=%d\n", __FUNCTION__,
self->max_data_size);
IRDA_DEBUG(2, "%s(), max_data_size=%d\n", __FUNCTION__,
self->max_data_size);
@@
-283,7
+283,7
@@
static void irda_connect_indication(void *instance, void *sap,
break;
default:
self->max_data_size = irttp_get_max_seg_size(self->tsap);
break;
default:
self->max_data_size = irttp_get_max_seg_size(self->tsap);
- }
;
+ }
IRDA_DEBUG(2, "%s(), max_data_size=%d\n", __FUNCTION__,
self->max_data_size);
IRDA_DEBUG(2, "%s(), max_data_size=%d\n", __FUNCTION__,
self->max_data_size);
@@
-308,7
+308,8
@@
static void irda_connect_response(struct irda_sock *self)
IRDA_ASSERT(self != NULL, return;);
IRDA_ASSERT(self != NULL, return;);
- skb = alloc_skb(64, GFP_ATOMIC);
+ skb = alloc_skb(TTP_MAX_HEADER + TTP_SAR_HEADER,
+ GFP_ATOMIC);
if (skb == NULL) {
IRDA_DEBUG(0, "%s() Unable to allocate sk_buff!\n",
__FUNCTION__);
if (skb == NULL) {
IRDA_DEBUG(0, "%s() Unable to allocate sk_buff!\n",
__FUNCTION__);
@@
-1209,9
+1210,10
@@
static int irda_release(struct socket *sock)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
-
if (sk == NULL)
+ if (sk == NULL)
return 0;
return 0;
+ lock_sock(sk);
sk->sk_state = TCP_CLOSE;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_state_change(sk);
sk->sk_state = TCP_CLOSE;
sk->sk_shutdown |= SEND_SHUTDOWN;
sk->sk_state_change(sk);
@@
-1221,6
+1223,7
@@
static int irda_release(struct socket *sock)
sock_orphan(sk);
sock->sk = NULL;
sock_orphan(sk);
sock->sk = NULL;
+ release_sock(sk);
/* Purge queues (see sock_init_data()) */
skb_queue_purge(&sk->sk_receive_queue);
/* Purge queues (see sock_init_data()) */
skb_queue_purge(&sk->sk_receive_queue);
@@
-1255,7
+1258,7
@@
static int irda_release(struct socket *sock)
* memory leak is now gone... - Jean II
*/
* memory leak is now gone... - Jean II
*/
-
return 0;
+ return 0;
}
/*
}
/*
@@
-1271,7
+1274,6
@@
static int irda_sendmsg(struct kiocb *iocb, struct socket *sock,
struct sock *sk = sock->sk;
struct irda_sock *self;
struct sk_buff *skb;
struct sock *sk = sock->sk;
struct irda_sock *self;
struct sk_buff *skb;
- unsigned char *asmptr;
int err;
IRDA_DEBUG(4, "%s(), len=%zd\n", __FUNCTION__, len);
int err;
IRDA_DEBUG(4, "%s(), len=%zd\n", __FUNCTION__, len);
@@
-1308,15
+1310,15
@@
static int irda_sendmsg(struct kiocb *iocb, struct socket *sock,
len = self->max_data_size;
}
len = self->max_data_size;
}
- skb = sock_alloc_send_skb(sk, len + self->max_header_size + 16,
+ skb = sock_alloc_send_skb(sk, len + self->max_header_size + 16,
msg->msg_flags & MSG_DONTWAIT, &err);
if (!skb)
return -ENOBUFS;
skb_reserve(skb, self->max_header_size + 16);
msg->msg_flags & MSG_DONTWAIT, &err);
if (!skb)
return -ENOBUFS;
skb_reserve(skb, self->max_header_size + 16);
-
-
asmptr = skb->h.raw =
skb_put(skb, len);
- err = memcpy_fromiovec(
asmptr
, msg->msg_iov, len);
+ skb_reset_transport_header(skb);
+ skb_put(skb, len);
+ err = memcpy_fromiovec(
skb_transport_header(skb)
, msg->msg_iov, len);
if (err) {
kfree_skb(skb);
return err;
if (err) {
kfree_skb(skb);
return err;
@@
-1353,14
+1355,15
@@
static int irda_recvmsg_dgram(struct kiocb *iocb, struct socket *sock,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(!sock_error(sk), return -1;);
skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
flags & MSG_DONTWAIT, &err);
if (!skb)
return err;
skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
flags & MSG_DONTWAIT, &err);
if (!skb)
return err;
- skb
->h.raw = skb->data
;
- copied
= skb->len;
+ skb
_reset_transport_header(skb)
;
+ copied = skb->len;
if (copied > size) {
IRDA_DEBUG(2, "%s(), Received truncated frame (%zd < %zd)!\n",
if (copied > size) {
IRDA_DEBUG(2, "%s(), Received truncated frame (%zd < %zd)!\n",
@@
-1405,6
+1408,7
@@
static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock,
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(!sock_error(sk), return -1;);
if (sock->flags & __SO_ACCEPTCON)
return(-EINVAL);
if (sock->flags & __SO_ACCEPTCON)
return(-EINVAL);
@@
-1440,7
+1444,7
@@
static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock,
*/
ret = sock_error(sk);
if (ret)
*/
ret = sock_error(sk);
if (ret)
-
break
;
+ ;
else if (sk->sk_shutdown & RCV_SHUTDOWN)
;
else if (noblock)
else if (sk->sk_shutdown & RCV_SHUTDOWN)
;
else if (noblock)
@@
-1525,7
+1529,6
@@
static int irda_sendmsg_dgram(struct kiocb *iocb, struct socket *sock,
struct sock *sk = sock->sk;
struct irda_sock *self;
struct sk_buff *skb;
struct sock *sk = sock->sk;
struct irda_sock *self;
struct sk_buff *skb;
- unsigned char *asmptr;
int err;
IRDA_DEBUG(4, "%s(), len=%zd\n", __FUNCTION__, len);
int err;
IRDA_DEBUG(4, "%s(), len=%zd\n", __FUNCTION__, len);
@@
-1561,10
+1564,11
@@
static int irda_sendmsg_dgram(struct kiocb *iocb, struct socket *sock,
return -ENOBUFS;
skb_reserve(skb, self->max_header_size);
return -ENOBUFS;
skb_reserve(skb, self->max_header_size);
+ skb_reset_transport_header(skb);
IRDA_DEBUG(4, "%s(), appending user data\n", __FUNCTION__);
IRDA_DEBUG(4, "%s(), appending user data\n", __FUNCTION__);
-
asmptr = skb->h.raw =
skb_put(skb, len);
- err = memcpy_fromiovec(
asmptr
, msg->msg_iov, len);
+ skb_put(skb, len);
+ err = memcpy_fromiovec(
skb_transport_header(skb)
, msg->msg_iov, len);
if (err) {
kfree_skb(skb);
return err;
if (err) {
kfree_skb(skb);
return err;
@@
-1597,7
+1601,6
@@
static int irda_sendmsg_ultra(struct kiocb *iocb, struct socket *sock,
__u8 pid = 0;
int bound = 0;
struct sk_buff *skb;
__u8 pid = 0;
int bound = 0;
struct sk_buff *skb;
- unsigned char *asmptr;
int err;
IRDA_DEBUG(4, "%s(), len=%zd\n", __FUNCTION__, len);
int err;
IRDA_DEBUG(4, "%s(), len=%zd\n", __FUNCTION__, len);
@@
-1657,10
+1660,11
@@
static int irda_sendmsg_ultra(struct kiocb *iocb, struct socket *sock,
return -ENOBUFS;
skb_reserve(skb, self->max_header_size);
return -ENOBUFS;
skb_reserve(skb, self->max_header_size);
+ skb_reset_transport_header(skb);
IRDA_DEBUG(4, "%s(), appending user data\n", __FUNCTION__);
IRDA_DEBUG(4, "%s(), appending user data\n", __FUNCTION__);
-
asmptr = skb->h.raw =
skb_put(skb, len);
- err = memcpy_fromiovec(
asmptr
, msg->msg_iov, len);
+ skb_put(skb, len);
+ err = memcpy_fromiovec(
skb_transport_header(skb)
, msg->msg_iov, len);
if (err) {
kfree_skb(skb);
return err;
if (err) {
kfree_skb(skb);
return err;
@@
-1708,7
+1712,7
@@
static int irda_shutdown(struct socket *sock, int how)
self->daddr = DEV_ADDR_ANY; /* Until we get re-connected */
self->saddr = 0x0; /* so IrLMP assign us any link */
self->daddr = DEV_ADDR_ANY; /* Until we get re-connected */
self->saddr = 0x0; /* so IrLMP assign us any link */
-
return 0;
+ return 0;
}
/*
}
/*