Subject: Re: Resend: [PATCH] Bluetooth: Fix Endian Bug.

From: Marcel Holtmann <[email-masked]>
Date: Thu, 08 Mar 2012 09:53:03 -0800

Hi Gustavo,

> > Fix network to host endian conversion for L2CAP chan id.
> > 
> > Signed-off-by: Santosh Nayak <[email-masked]>
> > ---
> >  net/bluetooth/l2cap_sock.c |    5 +++--
> >  1 files changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
> > index 401d942..86d5067 100644
> > --- a/net/bluetooth/l2cap_sock.c
> > +++ b/net/bluetooth/l2cap_sock.c
> > @@ -82,7 +82,7 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
> >  	}
> >  
> >  	if (la.l2_cid)
> > -		err = l2cap_add_scid(chan, la.l2_cid);
> > +		err = l2cap_add_scid(chan, __le16_to_cpu(la.l2_cid));
> 
> This is kind weird, la.l2_cid comes from the user, so it is already in host
> endian. No need for convertions here.

CID and PSM are provided in little endian by user space.

Regards

Marcel