]> err.no Git - linux-2.6/commitdiff
[AX25]: sparse cleanups
authorEric Dumazet <dada1@cosmosbay.com>
Mon, 14 Jan 2008 06:29:41 +0000 (22:29 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:02:03 +0000 (15:02 -0800)
net/ax25/ax25_route.c:251:13: warning: context imbalance in
'ax25_rt_seq_start' - wrong count at exit
net/ax25/ax25_route.c:276:13: warning: context imbalance in 'ax25_rt_seq_stop'
- unexpected unlock
net/ax25/ax25_std_timer.c:65:25: warning: expensive signed divide
net/ax25/ax25_uid.c:46:1: warning: symbol 'ax25_uid_list' was not declared.
Should it be static?
net/ax25/ax25_uid.c:146:13: warning: context imbalance in 'ax25_uid_seq_start'
- wrong count at exit
net/ax25/ax25_uid.c:169:13: warning: context imbalance in 'ax25_uid_seq_stop'
- unexpected unlock
net/ax25/af_ax25.c:573:28: warning: expensive signed divide
net/ax25/af_ax25.c:1865:13: warning: context imbalance in 'ax25_info_start' -
wrong count at exit
net/ax25/af_ax25.c:1888:13: warning: context imbalance in 'ax25_info_stop' -
unexpected unlock
net/ax25/ax25_ds_timer.c:133:25: warning: expensive signed divide

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ax25/af_ax25.c
net/ax25/ax25_ds_timer.c
net/ax25/ax25_route.c
net/ax25/ax25_std_timer.c
net/ax25/ax25_uid.c

index a028d37ba2e0a8769b289b36d86c9fcc47be8cf9..1bc0e85f04a5112afbfa5be6140d59ba4f38f2b0 100644 (file)
@@ -570,7 +570,7 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname,
                        res = -EINVAL;
                        break;
                }
-               ax25->rtt = (opt * HZ) / 2;
+               ax25->rtt = (opt * HZ) >> 1;
                ax25->t1  = opt * HZ;
                break;
 
@@ -1863,6 +1863,7 @@ static int ax25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 #ifdef CONFIG_PROC_FS
 
 static void *ax25_info_start(struct seq_file *seq, loff_t *pos)
+       __acquires(ax25_list_lock)
 {
        struct ax25_cb *ax25;
        struct hlist_node *node;
@@ -1886,6 +1887,7 @@ static void *ax25_info_next(struct seq_file *seq, void *v, loff_t *pos)
 }
 
 static void ax25_info_stop(struct seq_file *seq, void *v)
+       __releases(ax25_list_lock)
 {
        spin_unlock_bh(&ax25_list_lock);
 }
index 4f44185955c790403435227d598d7c575d4880ea..c4e3b025d21c20c824d6b0b6b5fb42105e713360 100644 (file)
@@ -130,7 +130,7 @@ void ax25_ds_heartbeat_expiry(ax25_cb *ax25)
                 */
                if (sk != NULL) {
                        if (atomic_read(&sk->sk_rmem_alloc) <
-                           (sk->sk_rcvbuf / 2) &&
+                           (sk->sk_rcvbuf >> 1) &&
                            (ax25->condition & AX25_COND_OWN_RX_BUSY)) {
                                ax25->condition &= ~AX25_COND_OWN_RX_BUSY;
                                ax25->condition &= ~AX25_COND_ACK_PENDING;
index 9ecf6f1df863078c3a238a079787123a1df5f437..38c7f3087ec3d17c1fc8a5ff48be10cb9dedda60 100644 (file)
@@ -249,6 +249,7 @@ int ax25_rt_ioctl(unsigned int cmd, void __user *arg)
 #ifdef CONFIG_PROC_FS
 
 static void *ax25_rt_seq_start(struct seq_file *seq, loff_t *pos)
+       __acquires(ax25_route_lock)
 {
        struct ax25_route *ax25_rt;
        int i = 1;
@@ -274,6 +275,7 @@ static void *ax25_rt_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 }
 
 static void ax25_rt_seq_stop(struct seq_file *seq, void *v)
+       __releases(ax25_route_lock)
 {
        read_unlock(&ax25_route_lock);
 }
index f2f6918ac9bb69cae0c93f084b5955aed97f460c..96e4b9273250918b4a60fdcc9ccce00b79090827 100644 (file)
@@ -32,7 +32,7 @@
 
 void ax25_std_heartbeat_expiry(ax25_cb *ax25)
 {
-       struct sock *sk=ax25->sk;
+       struct sock *sk = ax25->sk;
 
        if (sk)
                bh_lock_sock(sk);
@@ -62,7 +62,7 @@ void ax25_std_heartbeat_expiry(ax25_cb *ax25)
                 */
                if (sk != NULL) {
                        if (atomic_read(&sk->sk_rmem_alloc) <
-                           (sk->sk_rcvbuf / 2) &&
+                           (sk->sk_rcvbuf >> 1) &&
                            (ax25->condition & AX25_COND_OWN_RX_BUSY)) {
                                ax25->condition &= ~AX25_COND_OWN_RX_BUSY;
                                ax25->condition &= ~AX25_COND_ACK_PENDING;
index ce0b13d44385fad3c588a0ee7087ee58d6189a2e..5f4eb73fb9d344f35fc338857444cd1d01abbb1e 100644 (file)
  *     Callsign/UID mapper. This is in kernel space for security on multi-amateur machines.
  */
 
-HLIST_HEAD(ax25_uid_list);
+static HLIST_HEAD(ax25_uid_list);
 static DEFINE_RWLOCK(ax25_uid_lock);
 
-int ax25_uid_policy = 0;
+int ax25_uid_policy;
 
 EXPORT_SYMBOL(ax25_uid_policy);
 
@@ -144,6 +144,7 @@ int ax25_uid_ioctl(int cmd, struct sockaddr_ax25 *sax)
 #ifdef CONFIG_PROC_FS
 
 static void *ax25_uid_seq_start(struct seq_file *seq, loff_t *pos)
+       __acquires(ax25_uid_lock)
 {
        struct ax25_uid_assoc *pt;
        struct hlist_node *node;
@@ -167,6 +168,7 @@ static void *ax25_uid_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 }
 
 static void ax25_uid_seq_stop(struct seq_file *seq, void *v)
+       __releases(ax25_uid_lock)
 {
        read_unlock(&ax25_uid_lock);
 }