On Mon, May 8, 2017 at 1:42 PM, Joao Pinto <joao.pi...@synopsys.com> wrote: > Às 11:12 AM de 5/8/2017, Andy Shevchenko escreveu: >> On Mon, May 8, 2017 at 12:54 PM, Joao Pinto <joao.pi...@synopsys.com> wrote: >>> Às 10:36 AM de 5/8/2017, Andy Shevchenko escreveu:
>>>> JFYI: With today's linux-next when _kexec:ed_ kernel boots I tried and >>>> got the following: >>> Are you using the same version of Ethernet IP, 10/100? >> >> I'm running on Intel Galileo Gen2 board (v4.11 by the way works fine >> with direct boot from SD card) >> >>> Could you please verify if the crash you are experiencing is this place? >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__git.kernel.org_pub_scm_linux_kernel_git_torvalds_linux.git_tree_drivers_net_ethernet_stmicro_stmmac_stmmac-5Fmain.c-23n2956&d=DwIFaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=s2fO0hii0OGNOv9qQy_HRXy-xAJUD1NNoEcc3io_kx0&m=UF269QZ9ExFRw1XXpgdvO2QeTCLEp-GquRe8OqZwRf0&s=yZu3uME5PK-3nJlxz-H-HfHh3Shjzg0je5If_jSXVb4&e= >>> >>> I would say that for rather old IPs, the napi is not capable of giving a >>> valid >>> queue number. Could you please print the queue index returned by this line? >>> >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__git.kernel.org_pub_scm_linux_kernel_git_torvalds_linux.git_tree_drivers_net_ethernet_stmicro_stmmac_stmmac-5Fmain.c-23n2948&d=DwIFaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r=s2fO0hii0OGNOv9qQy_HRXy-xAJUD1NNoEcc3io_kx0&m=UF269QZ9ExFRw1XXpgdvO2QeTCLEp-GquRe8OqZwRf0&s=p_TgHODJum23I2N4AldR4oIaOPffSDpk9agmbRMQgoM&e= >> >> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c >> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c >> @@ -2953,7 +2953,9 @@ static netdev_tx_t stmmac_xmit(struct sk_buff >> *skb, struct net_device *dev) >> unsigned int enh_desc; >> unsigned int des; >> >> + pr_info("%s <<< 1: priv %p, queue: %u\n", __func__, priv, queue); >> tx_q = &priv->tx_queue[queue]; >> + pr_info("%s <<< 2: priv %p, queue: %u tx_q: %p\n", __func__, >> priv, queue, tx_q); >> >> >> [ 101.591040] stmmac_xmit <<< 1: priv cdd1c4c0, queue: 7 >> [ 101.596377] stmmac_xmit <<< 2: priv cdd1c4c0, queue: 7 tx_q: cdd1caac > I assume that the queue index is always 7 right? By return 7, the napi > interface > 'thinks' that your setup is using 8 TX queues which I assume it is not and > thats > the problem causing your board to malfuntion. > > Could you please check the values of the 'real' tx and rx queues count in > this line? > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c#n4107 > > For default they are =1, so napi should be assuming 1RX and 1TX, and so you > should be getting queue index =0 in reception and transmission. > > In terms of reception, could you print the queue index that stmmac_poll is > using > here: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c#n3468 + pr_info("%s <<< %u\n", __func__, rx_q->queue_index); work_done = stmmac_rx(priv, budget, rx_q->queue_index); if (work_done < budget) { napi_complete_done(napi, work_done); /* Configure real RX and TX queues */ netif_set_real_num_rx_queues(ndev, priv->plat->rx_queues_to_use); netif_set_real_num_tx_queues(ndev, priv->plat->tx_queues_to_use); + pr_info("%s <<< %hhu %hhu\n", __func__, priv->plat->rx_queues_to_use, priv->plat->tx_queues_to_use); [ 44.374161] stmmac_dvr_probe <<< 0 0 [ 109.014763] stmmac_xmit <<< 1: priv cdcea4c0, queue: 2 [ 109.020099] stmmac_xmit <<< 2: priv cdcea4c0, queue: 2 tx_q: cdcea9e4 That's all, no poll activated. -- With Best Regards, Andy Shevchenko