On 02/28/2017 02:23 PM, Joe Perches wrote: > On Tue, 2017-02-28 at 15:35 +0000, Bart Van Assche wrote: >> On Tue, 2017-02-28 at 15:02 +0300, Dan Carpenter wrote: >>> Bitwise & was obviously intended here. > [] >>> diff --git a/include/linux/mlx4/driver.h b/include/linux/mlx4/driver.h > [] >>> @@ -109,7 +109,7 @@ static inline void (u8 *addr, u64 mac) >>> int i; >>> >>> for (i = ETH_ALEN; i > 0; i--) { >>> - addr[i - 1] = mac && 0xFF; >>> + addr[i - 1] = mac & 0xFF; >>> mac >>= 8; >>> } >>> } >> >> Is this the only place where such a loop occurs? > > Seems to be. > >> Should a put_unaligned_be48() >> function be introduced? > > Why? This is used exactly once. Really? Here is an example of another open-coded version of put_unaligned_be48() from arch/mips/cavium-octeon/octeon-platform.c: new_mac[0] = (mac >> 40) & 0xff; new_mac[1] = (mac >> 32) & 0xff; new_mac[2] = (mac >> 24) & 0xff; new_mac[3] = (mac >> 16) & 0xff; new_mac[4] = (mac >> 8) & 0xff; new_mac[5] = mac & 0xff; Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html