On Tue, Jan 16, 2018 at 02:03:49PM +0100, Arnaud Pouliquen wrote: > > > On 01/16/2018 01:50 PM, Dan Carpenter wrote: > > On Tue, Jan 16, 2018 at 01:47:29PM +0100, Arnaud Pouliquen wrote: > >> Hello Dan > >> > >> On 01/16/2018 12:43 PM, Dan Carpenter wrote: > >>> Hello Arnaud Pouliquen, > >>> > >>> The patch eca949800d2d: "IIO: ADC: add stm32 DFSDM support for PDM > >>> microphone" from Jan 10, 2018, leads to the following static checker > >>> warning: > >>> > >>> drivers/iio/adc/stm32-dfsdm-adc.c:555 stm32_dfsdm_audio_dma_buffer_done() > >>> warn: potential shift truncation. '0xffffff00 (0,256-4294967040) << 8' > >>> > >>> drivers/iio/adc/stm32-dfsdm-adc.c > >>> 551 while (available >= indio_dev->scan_bytes) { > >>> 552 u32 *buffer = (u32 *)&adc->rx_buf[adc->bufi]; > >>> 553 > >>> 554 /* Mask 8 LSB that contains the channel ID */ > >>> 555 *buffer = (*buffer & 0xFFFFFF00) << 8; > >>> > >>> Is this shift, correct? The comment just mentions that we're masking > >>> out the low bits. > >> Yes mask and shift are not correlated. > >> The Mask suppresses the 8 LSB that contain ID of the channel scanned > >> The shift is used for the 24 to 32 bits sample conversion. > >> > > > > If you wanted to silence the static checker warning you could change the > > mask to: > > > > *buffer = (*buffer & 0x00FFFF00) << 8; > > Thanks for the proposal, fill free to send the patch, otherwise i will > add it in next patch series. > For my personal information which static checker warns on this line? It's some Smatch stuff that has too many false positives so I review it but haven't published it. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html