On 11/19/2010 07:18 AM, Tomoya MORINAGA wrote:
> On Tuesday, November 16, 2010 9:22 PM, Marc Kleine-Budde wrote :
>
> Except the following, I have updated/resubmitted already .
>
>>> static int pch_can_rx_poll(struct napi_struct *napi, int quota)
>>> {
>>> struct net_device *ndev = napi->dev;
>>> struct pch_can_priv *priv = netdev_priv(ndev);
>>> - struct net_device_stats *stats = &(priv->ndev->stats);
>>> - u32 dlc;
>>> u32 int_stat;
>>> int rcv_pkts = 0;
> ^^^^
>> can be removed...if you remove the += below
> Since there is "goto" code, "=0" is better.The compiler would complain, if there's an unused variable. >>> - spin_unlock_irqrestore(&priv->msgif_reg_lock, flags); >>> + pch_can_rw_msg_obj(&priv->regs->ifregs[1].creq, tx_obj_no); >> Still we have the busy waiting in the TX path. Maybe you can move the >> waiting before accessing the if[1] and remove the busy waiting here. > I can't understand your saying. > For transmitting data, calling pch_can_rw_msg_obj is mandatory. Yes, but the busy wait is not needed. It should be enough to do the busy-waiting _before_ accessing the if[1]. cheers, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Socketcan-core mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-core
