Re: [PATCH] staging: pi433: Fixes issue with bit shift in rf69_get_modulation

Marcus Wolf
2017-12-06T10:02:25Z

Am 06.12.2017 um 11:02 schrieb Greg KH:
> On Wed, Nov 08, 2017 at 07:13:56PM +0200, Marcus Wolf wrote:
>> Fixes issue with bit shift in rf69_get_modulation
>
> What "issue"?
>
>>
>> Signed-off-by: Marcus Wolf <linux@wolf-entwicklungen.de>
>> ---
>> drivers/staging/pi433/rf69.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/pi433/rf69.c b/drivers/staging/pi433/rf69.c
>> index 290b419..c945b4b 100644
>> --- a/drivers/staging/pi433/rf69.c
>> +++ b/drivers/staging/pi433/rf69.c
>> @@ -102,7 +102,7 @@ enum modulation rf69_get_modulation(struct spi_device *spi)
>>
>> currentValue = READ_REG(REG_DATAMODUL);
>>
>> - switch (currentValue & MASK_DATAMODUL_MODULATION_TYPE >> 3) { // TODO improvement: change 3 to define
>> + switch (currentValue & MASK_DATAMODUL_MODULATION_TYPE) {
>
> Doesn't this change the logic here?
>
> thanks,
>
> greg k-h
>

Hi Greg,

yes, it does.

This is one of the very few changes to pi433 driver, that does not
modify the architecture or optics of the code, but really fixes a bug.
This function wasn't working from the very beginning, and we had already
several reports and patches (from me and otheres), announcing or trying
to fix the bug. But so far all patches were skipped for some reason.

Please take the patch.

Marcus