i reaches pkts_to_be_removed + 1
Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
index 894b2cb..177f34b 100644
--- a/drivers/bluetooth/hci_bcsp.c
+++ b/drivers/bluetooth/hci_bcsp.c
@@ -385,7 +385,7 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
spin_unlock_irqrestore(&bcsp->unack.lock, flags);
- if (i != pkts_to_be_removed)
+ if (i <= pkts_to_be_removed)
BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
}
Hi David,
> >> diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
> >> index 894b2cb..177f34b 100644
> >> --- a/drivers/bluetooth/hci_bcsp.c
> >> +++ b/drivers/bluetooth/hci_bcsp.c
> >> @@ -385,7 +385,7 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
> >>
> >> spin_unlock_irqrestore(&bcsp->unack.lock, flags);
> >>
> >> - if (i != pkts_to_be_removed)
> >> + if (i <= pkts_to_be_removed)
> >> BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
> >> }
> >>
> >
> > patch looks good, but can you please fill in the commit message with a
> > little bit more details and background.
> >
>
> Isn't there something wrong with this? The patched code looks like it
> will output apparently nonsensical messages like "Removed only 10 out of
> 10 pkts".
yeah, that would make no real sense. I actually just thought about why
we have that error message at all. We might should remove the message
all together.
Regards
Marcel
Marcel Holtmann wrote:
> Hi Roel,
>
>
>> i reaches pkts_to_be_removed + 1
>>
>> Signed-off-by: Roel Kluin <[email protected]>
>> ---
>> diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
>> index 894b2cb..177f34b 100644
>> --- a/drivers/bluetooth/hci_bcsp.c
>> +++ b/drivers/bluetooth/hci_bcsp.c
>> @@ -385,7 +385,7 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
>>
>> spin_unlock_irqrestore(&bcsp->unack.lock, flags);
>>
>> - if (i != pkts_to_be_removed)
>> + if (i <= pkts_to_be_removed)
>> BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
>> }
>>
>
> patch looks good, but can you please fill in the commit message with a
> little bit more details and background.
>
Isn't there something wrong with this? The patched code looks like it
will output apparently nonsensical messages like "Removed only 10 out of
10 pkts".
>> i reaches pkts_to_be_removed + 1
> patch looks good, but can you please fill in the commit message with a
> little bit more details and background.
This was found by code inspection by the way, and not tested.
how about:
------------------------------>8-------------8<---------------------------------
When all packets are removed 'i' reaches pkts_to_be_removed + 1, so the
error message was printed upon success, and not when the last packet
wasn't removed.
Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
index 894b2cb..177f34b 100644
--- a/drivers/bluetooth/hci_bcsp.c
+++ b/drivers/bluetooth/hci_bcsp.c
@@ -385,7 +385,7 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
spin_unlock_irqrestore(&bcsp->unack.lock, flags);
- if (i != pkts_to_be_removed)
+ if (i <= pkts_to_be_removed)
BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
}
Hi Roel,
> i reaches pkts_to_be_removed + 1
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
> index 894b2cb..177f34b 100644
> --- a/drivers/bluetooth/hci_bcsp.c
> +++ b/drivers/bluetooth/hci_bcsp.c
> @@ -385,7 +385,7 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
>
> spin_unlock_irqrestore(&bcsp->unack.lock, flags);
>
> - if (i != pkts_to_be_removed)
> + if (i <= pkts_to_be_removed)
> BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
> }
patch looks good, but can you please fill in the commit message with a
little bit more details and background.
Regards
Marcel
>> Isn't there something wrong with this? The patched code looks like it
>> will output apparently nonsensical messages like "Removed only 10 out of
>> 10 pkts".
>
> yeah, that would make no real sense. I actually just thought about why
> we have that error message at all. We should remove the message all together.
------------------------------>8-------------8<---------------------------------
When all packets are removed 'i' reaches pkts_to_be_removed + 1, so the error
message was printed upon success, and not when the last packet wasn't removed.
Since it results in nonsensical messages, it was decided to remove the test
altogether.
Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
index 894b2cb..52c6bdc 100644
--- a/drivers/bluetooth/hci_bcsp.c
+++ b/drivers/bluetooth/hci_bcsp.c
@@ -384,9 +384,6 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
del_timer(&bcsp->tbcsp);
spin_unlock_irqrestore(&bcsp->unack.lock, flags);
-
- if (i != pkts_to_be_removed)
- BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed);
}
/* Handle BCSP link-establishment packets. When we