From: Eric Dumazet Date: Tue, 15 Jan 2008 11:29:50 +0000 (-0800) Subject: [ATM]: Suppress some sparse warnings X-Git-Tag: v2.6.25-rc1~1162^2~702 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c17d5f11212af5f12b91991b1132cf301dd1f28;p=linux-2.6 [ATM]: Suppress some sparse warnings CHECK net/atm/br2684.c net/atm/br2684.c:665:13: warning: context imbalance in 'br2684_seq_start' - wrong count at exit net/atm/br2684.c:676:13: warning: context imbalance in 'br2684_seq_stop' - unexpected unlock CHECK net/atm/lec.c net/atm/lec.c:196:23: warning: expensive signed divide CHECK net/atm/proc.c net/atm/proc.c:151:14: warning: context imbalance in 'vcc_seq_start' - wrong count at exit net/atm/proc.c:154:13: warning: context imbalance in 'vcc_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/atm/br2684.c b/net/atm/br2684.c index 5c8a0dcb10..574d9a9641 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -663,6 +663,7 @@ static struct atm_ioctl br2684_ioctl_ops = { #ifdef CONFIG_PROC_FS static void *br2684_seq_start(struct seq_file *seq, loff_t * pos) + __acquires(devs_lock) { read_lock(&devs_lock); return seq_list_start(&br2684_devs, *pos); @@ -674,6 +675,7 @@ static void *br2684_seq_next(struct seq_file *seq, void *v, loff_t * pos) } static void br2684_seq_stop(struct seq_file *seq, void *v) + __releases(devs_lock) { read_unlock(&devs_lock); } diff --git a/net/atm/lec.c b/net/atm/lec.c index 0a9c426196..1a8c4c6c0c 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c @@ -176,7 +176,7 @@ static void lec_handle_bridge(struct sk_buff *skb, struct net_device *dev) static unsigned char *get_tr_dst(unsigned char *packet, unsigned char *rdesc) { struct trh_hdr *trh; - int riflen, num_rdsc; + unsigned int riflen, num_rdsc; trh = (struct trh_hdr *)packet; if (trh->daddr[0] & (uint8_t) 0x80) diff --git a/net/atm/proc.c b/net/atm/proc.c index 565e75e62c..49125110bb 100644 --- a/net/atm/proc.c +++ b/net/atm/proc.c @@ -142,6 +142,7 @@ static int vcc_seq_release(struct inode *inode, struct file *file) } static void *vcc_seq_start(struct seq_file *seq, loff_t *pos) + __acquires(vcc_sklist_lock) { struct vcc_state *state = seq->private; loff_t left = *pos; @@ -152,6 +153,7 @@ static void *vcc_seq_start(struct seq_file *seq, loff_t *pos) } static void vcc_seq_stop(struct seq_file *seq, void *v) + __releases(vcc_sklist_lock) { read_unlock(&vcc_sklist_lock); }