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

From: Marcus Wolf
Date: Wed Dec 06 2017 - 05:02:27 EST




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@xxxxxxxxxxxxxxxxxxxxx>
---
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