From: Dan Carpenter <dan.carpenter@oracle.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: "Gustavo F. Padovan" <padovan@profusion.mobi>,
linux-bluetooth@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: [patch] bluetooth: hci_ll: clean up types a bit
Date: Mon, 26 Sep 2011 06:14:12 +0000 [thread overview]
Message-ID: <20110926061412.GA11832@elgon.mountain> (raw)
I'm doing an audit of places where min_t() casting truncates a
variable such as:
len = min_t(unsigned int, ll->rx_count, count);
Here ll->rx_count is unsigned long, but we cast it to unsigned int
and lose the significant bits.
Looking at the code ->rx_count is never more than 256 so we could
just make it an int.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c
index 7e4b435..7bb1d8e 100644
--- a/drivers/bluetooth/hci_ll.c
+++ b/drivers/bluetooth/hci_ll.c
@@ -78,7 +78,7 @@ struct hcill_cmd {
struct ll_struct {
unsigned long rx_state;
- unsigned long rx_count;
+ unsigned int rx_count;
struct sk_buff *rx_skb;
struct sk_buff_head txq;
spinlock_t hcill_lock; /* HCILL state lock */
@@ -346,7 +346,7 @@ static int ll_enqueue(struct hci_uart *hu, struct sk_buff *skb)
return 0;
}
-static inline int ll_check_data_len(struct ll_struct *ll, int len)
+static inline int ll_check_data_len(struct ll_struct *ll, unsigned int len)
{
register int room = skb_tailroom(ll->rx_skb);
@@ -380,7 +380,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count)
struct hci_sco_hdr *sh;
register int len, type, dlen;
- BT_DBG("hu %p count %d rx_state %ld rx_count %ld", hu, count, ll->rx_state, ll->rx_count);
+ BT_DBG("hu %p count %d rx_state %ld rx_count %u", hu, count, ll->rx_state, ll->rx_count);
ptr = data;
while (count) {
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: "Gustavo F. Padovan" <padovan@profusion.mobi>,
linux-bluetooth@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: [patch] bluetooth: hci_ll: clean up types a bit
Date: Mon, 26 Sep 2011 09:14:12 +0300 [thread overview]
Message-ID: <20110926061412.GA11832@elgon.mountain> (raw)
I'm doing an audit of places where min_t() casting truncates a
variable such as:
len = min_t(unsigned int, ll->rx_count, count);
Here ll->rx_count is unsigned long, but we cast it to unsigned int
and lose the significant bits.
Looking at the code ->rx_count is never more than 256 so we could
just make it an int.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c
index 7e4b435..7bb1d8e 100644
--- a/drivers/bluetooth/hci_ll.c
+++ b/drivers/bluetooth/hci_ll.c
@@ -78,7 +78,7 @@ struct hcill_cmd {
struct ll_struct {
unsigned long rx_state;
- unsigned long rx_count;
+ unsigned int rx_count;
struct sk_buff *rx_skb;
struct sk_buff_head txq;
spinlock_t hcill_lock; /* HCILL state lock */
@@ -346,7 +346,7 @@ static int ll_enqueue(struct hci_uart *hu, struct sk_buff *skb)
return 0;
}
-static inline int ll_check_data_len(struct ll_struct *ll, int len)
+static inline int ll_check_data_len(struct ll_struct *ll, unsigned int len)
{
register int room = skb_tailroom(ll->rx_skb);
@@ -380,7 +380,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count)
struct hci_sco_hdr *sh;
register int len, type, dlen;
- BT_DBG("hu %p count %d rx_state %ld rx_count %ld", hu, count, ll->rx_state, ll->rx_count);
+ BT_DBG("hu %p count %d rx_state %ld rx_count %u", hu, count, ll->rx_state, ll->rx_count);
ptr = data;
while (count) {
next reply other threads:[~2011-09-26 6:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-26 6:14 Dan Carpenter [this message]
2011-09-26 6:14 ` [patch] bluetooth: hci_ll: clean up types a bit Dan Carpenter
2011-09-29 19:28 ` Gustavo Padovan
2011-09-29 19:28 ` Gustavo Padovan
2011-09-29 20:50 ` Dan Carpenter
2011-09-29 20:50 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110926061412.GA11832@elgon.mountain \
--to=dan.carpenter@oracle.com \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=padovan@profusion.mobi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.