Hi, On Wednesday 11 June 2014 12:32 AM, Dan Carpenter wrote: > Hello Kishon Vijay Abraham I, > > The patch 00a0b1d58af873d8: "usb: musb: omap: Add device tree support > for omap musb glue", from Sep 11 2012, leads to the following static > checker warning: > > drivers/usb/musb/omap2430.c:569 omap2430_probe() > warn: does endianness matter for 'config->num_eps'? > > drivers/usb/musb/omap2430.c > 565 > 566 of_property_read_u32(np, "mode", (u32 *)&pdata->mode); > 567 of_property_read_u32(np, "interface-type", > 568 (u32 *)&data->interface_type); > 569 of_property_read_u32(np, "num-eps", (u32 *)&config->num_eps); > ^^^^^^^^^^^^^^^ > > This is not endian safe, but more importantly ->num_eps is a u8 so when > we write 32 bits to it, we are corrupting ->dma_channels, > ->dyn_fifo_size, and ->vendor_ctrl. On little endian, it's going to be > setting them to zero so it might not cause and immediate problem. > > The way to do this is to use a 32 bit temporary variable and then save > the value to ->num_eps afterward. Create a small function to do this in > a nice way. Sure. Will do it. Thanks Kishon > > All the casts here are a bit scary. > > 570 of_property_read_u32(np, "ram-bits", (u32 *)&config->ram_bits); > 571 of_property_read_u32(np, "power", (u32 *)&pdata->power); > > regards, > dan carpenter > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html