Hello Wolfram, > > > + /* if count was multiple of 4 */ > > > + if (!(count & 0x3)) > > > + return; > > > + buf8 = (u8 *)(buf + (count >> 2)); > > > + count %= 4; > > > > To skip the same operation done on 'count' twice, maybe? > > > > buf8 = (u8 *)(buf + (count >> 2)); > > count &= 3; > > > > if (!count) > > return; > > > That looks like it should work. > I can try it out and see if there is something we are missing. Seems to work fine. Although I admit that because the driver is mostly being used as a block device (SD card), all the data requests are an even multiple of 4 (I put a printk after "if (!count) return;" ). Not sure if that will be the case when I test SDIO devices, but I'll find out once I start porting SDIO device drivers to 4.9+. I'll submit a v4 of this patch series tomorrow. Thank you. Chris ��.n��������+%������w��{.n�����{��i��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥