Subject: Re: pull request: wireless-next-2.6 2011-05-16-v2

From: "Gustavo F. Padovan" <[email-masked]>
Date: Tue, 17 May 2011 11:13:16 -0300

* David Miller <[email-masked]> [2011-05-16 23:08:35 -0400]:

> From: "John W. Linville" <[email-masked]>
> Date: Mon, 16 May 2011 20:08:09 -0400
> 
> > I'm sorry, Dave!  In my defense, I am on the verge of sickness and got
> > very little sleep last night... :-(
> > 
> > I have corrected the problem and was sure to perform the correct build
> > test this time! :-)
> 
> So these hunks made to net/bluetooth/l2cap_core.c:
> 
> @@ -3745,11 +3758,14 @@ done:
>  static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb)
>  {
>  	struct sock *sk;
> +	struct l2cap_chan *chan;
>  
> -	sk = l2cap_get_sock_by_psm(0, psm, conn->src);
> -	if (!sk)
> +	chan = l2cap_global_chan_by_psm(0, psm, conn->src);
> +	if (!chan)
>  		goto drop;
>  
> +	sk = chan->sk;
> +
>  	bh_lock_sock(sk);
>  
>  	BT_DBG("sk %p, len %d", sk, skb->len);
> @@ -3745,11 +3758,14 @@ done:
>  static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb)
>  {
>  	struct sock *sk;
> +	struct l2cap_chan *chan;
>  
> -	sk = l2cap_get_sock_by_psm(0, psm, conn->src);
> -	if (!sk)
> +	chan = l2cap_global_chan_by_psm(0, psm, conn->src);
> +	if (!chan)
>  		goto drop;
>  
> +	sk = chan->sk;
> +
>  	bh_lock_sock(sk);
>  
>  	BT_DBG("sk %p, len %d", sk, skb->len);
> 
> Doesn't generate the following warnings on your compiler?
> 
> net/bluetooth/l2cap_core.c: In function ‘l2cap_recv_frame’:
> net/bluetooth/l2cap_core.c:3758:15: warning: ‘sk’ may be used uninitialized in this function
> net/bluetooth/l2cap_core.c:3758:15: note: ‘sk’ was declared here
> net/bluetooth/l2cap_core.c:3791:15: warning: ‘sk’ may be used uninitialized in this function
> net/bluetooth/l2cap_core.c:3791:15: note: ‘sk’ was declared here
> 

I keep not seeing these warnings. I'll upgrade to gcc 4.6 and check this again.

padovan bluetooth-next-2.6 $ rm net/bluetooth/*.o net/bluetooth/*.ko
padovan bluetooth-next-2.6 $ make
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh                                                                  
  CHK     include/generated/compile.h                                                               
  UPD     include/generated/compile.h                                                               
  CC      init/version.o                                                                            
  CC      kernel/module.o                                                                           
  LD      init/built-in.o                                                                           
  CC      kernel/kexec.o                                                                            
  LD      kernel/built-in.o                                                                         
  LD      net/bluetooth/built-in.o                                                                  
  CC [M]  net/bluetooth/af_bluetooth.o                                                              
  CC [M]  net/bluetooth/hci_core.o                                                                  
  CC [M]  net/bluetooth/hci_conn.o                                                                  
  CC [M]  net/bluetooth/hci_event.o                                                                 
  CC [M]  net/bluetooth/mgmt.o                                                                      
  CC [M]  net/bluetooth/hci_sock.o                                                                  
  CC [M]  net/bluetooth/hci_sysfs.o                                                                 
  CC [M]  net/bluetooth/lib.o                                                                       
  CC [M]  net/bluetooth/l2cap_core.o                                                                
  CC [M]  net/bluetooth/l2cap_sock.o                                                                
  CC [M]  net/bluetooth/sco.o                                                                       
  LD [M]  net/bluetooth/bluetooth.o                                                                 
  LD      vmlinux.o   

-- 
Gustavo F. Padovan
http://profusion.mobi