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

Marcus Wolf marcus.wolf at smarthome-wolf.de
Wed Dec 6 10:02:13 UTC 2017



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 at 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


More information about the devel mailing list