From: Dan Carpenter <dan.carpenter@oracle.com>
To: horatiu.vultur@microchip.com
Cc: kernel-janitors@vger.kernel.org
Subject: Re: [bug report] net: lan966x: Update FDMA to change MTU.
Date: Wed, 11 May 2022 16:59:31 +0300 [thread overview]
Message-ID: <20220511135931.GC29930@kadam> (raw)
In-Reply-To: <YmF90Dj/DKXoRMiq@kili>
Ping!
regards,
dan carpenter
On Thu, Apr 21, 2022 at 06:52:48PM +0300, Dan Carpenter wrote:
> Hello Horatiu Vultur,
>
> The patch 2ea1cbac267e: "net: lan966x: Update FDMA to change MTU."
> from Apr 8, 2022, leads to the following Smatch static checker
> warning:
>
> drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c:736 lan966x_fdma_reload()
> warn: 'rx_dcbs' was already freed.
>
> drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c
> 685 static int lan966x_fdma_reload(struct lan966x *lan966x, int new_mtu)
> 686 {
> 687 void *rx_dcbs, *tx_dcbs, *tx_dcbs_buf;
> 688 dma_addr_t rx_dma, tx_dma;
> 689 u32 size;
> 690 int err;
> 691
> 692 /* Store these for later to free them */
> 693 rx_dma = lan966x->rx.dma;
> 694 tx_dma = lan966x->tx.dma;
> 695 rx_dcbs = lan966x->rx.dcbs;
> 696 tx_dcbs = lan966x->tx.dcbs;
> 697 tx_dcbs_buf = lan966x->tx.dcbs_buf;
> 698
> 699 napi_synchronize(&lan966x->napi);
> 700 napi_disable(&lan966x->napi);
> 701 lan966x_fdma_stop_netdev(lan966x);
> 702
> 703 lan966x_fdma_rx_disable(&lan966x->rx);
> 704 lan966x_fdma_rx_free_pages(&lan966x->rx);
> 705 lan966x->rx.page_order = round_up(new_mtu, PAGE_SIZE) / PAGE_SIZE - 1;
> 706 err = lan966x_fdma_rx_alloc(&lan966x->rx);
> 707 if (err)
> 708 goto restore;
> 709 lan966x_fdma_rx_start(&lan966x->rx);
> 710
> 711 size = sizeof(struct lan966x_rx_dcb) * FDMA_DCB_MAX;
> 712 size = ALIGN(size, PAGE_SIZE);
> 713 dma_free_coherent(lan966x->dev, size, rx_dcbs, rx_dma);
> ^^^^^^^
> Freed
>
> 714
> 715 lan966x_fdma_tx_disable(&lan966x->tx);
> 716 err = lan966x_fdma_tx_alloc(&lan966x->tx);
> 717 if (err)
> 718 goto restore_tx;
> ^^^^^^^^^^^^^^^
>
> 719
> 720 size = sizeof(struct lan966x_tx_dcb) * FDMA_DCB_MAX;
> 721 size = ALIGN(size, PAGE_SIZE);
> 722 dma_free_coherent(lan966x->dev, size, tx_dcbs, tx_dma);
> 723
> 724 kfree(tx_dcbs_buf);
> 725
> 726 lan966x_fdma_wakeup_netdev(lan966x);
> 727 napi_enable(&lan966x->napi);
> 728
> 729 return err;
> 730 restore:
> 731 lan966x->rx.dma = rx_dma;
> 732 lan966x->tx.dma = tx_dma;
> 733 lan966x_fdma_rx_start(&lan966x->rx);
> 734
> 735 restore_tx:
> --> 736 lan966x->rx.dcbs = rx_dcbs;
> ^^^^^^^
>
> 737 lan966x->tx.dcbs = tx_dcbs;
> 738 lan966x->tx.dcbs_buf = tx_dcbs_buf;
> 739
> 740 return err;
> 741 }
>
> regards,
> dan carpenter
prev parent reply other threads:[~2022-05-11 13:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-21 15:52 [bug report] net: lan966x: Update FDMA to change MTU Dan Carpenter
2022-05-11 13:59 ` Dan Carpenter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220511135931.GC29930@kadam \
--to=dan.carpenter@oracle.com \
--cc=horatiu.vultur@microchip.com \
--cc=kernel-janitors@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.