On 20.12.2022 17:53:28, Vincent MAILHOL wrote: > > > struct tx_msg { > > > @@ -229,10 +237,10 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, > > > u32 id = le32_to_cpu(msg->msg.rx.id) & ESD_IDMASK; > > > > > > if (id == ESD_EV_CAN_ERROR_EXT) { > > > - u8 state = msg->msg.rx.data[0]; > > > - u8 ecc = msg->msg.rx.data[1]; > > > - u8 rxerr = msg->msg.rx.data[2]; > > > - u8 txerr = msg->msg.rx.data[3]; > > > + u8 state = msg->msg.rx.ev_can_err_ext.status; > > > + u8 ecc = msg->msg.rx.ev_can_err_ext.ecc; > > > + u8 rxerr = msg->msg.rx.ev_can_err_ext.rec; > > > + u8 txerr = msg->msg.rx.ev_can_err_ext.tec; > > > > I do not like how you have to write msg->msg.rx.something. I think it > > would be better to make the union within struct esd_usb_msg anonymous: > > > > https://elixir.bootlin.com/linux/latest/source/drivers/net/can/usb/esd_usb.c#L169 > > Or maybe just declare esd_usb_msg as an union instead of a struct: +1 > union esd_usb_msg { > struct header_msg hdr; > struct version_msg version; > struct version_reply_msg version_reply; > struct rx_msg rx; > struct tx_msg tx; > struct tx_done_msg txdone; > struct set_baudrate_msg setbaud; > struct id_filter_msg filter; > }; Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: PGP signature