[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52EBF885.30309@cogentembedded.com>
Date: Fri, 31 Jan 2014 22:24:53 +0300
From: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To: Alexander Gordeev <agordeev@...hat.com>,
linux-kernel@...r.kernel.org
CC: Hyong-Youb Kim <hykim@...i.com>, netdev@...r.kernel.org,
linux-pci@...r.kernel.org
Subject: Re: [PATCH 20/34] myri10ge: Use pci_enable_msix_range()
Hello.
On 01/31/2014 06:08 PM, Alexander Gordeev wrote:
> As result of deprecation of MSI-X/MSI enablement functions
> pci_enable_msix() and pci_enable_msi_block() all drivers
> using these two interfaces need to be updated to use the
> new pci_enable_msi_range() and pci_enable_msix_range()
> interfaces.
> Signed-off-by: Alexander Gordeev <agordeev@...hat.com>
> ---
> drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 32 ++++++++++-----------
> 1 files changed, 15 insertions(+), 17 deletions(-)
> diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
> index 68026f7..9f717d6 100644
> --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
> +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
> @@ -2329,16 +2329,14 @@ static int myri10ge_request_irq(struct myri10ge_priv *mgp)
> status = 0;
> if (myri10ge_msi) {
> if (mgp->num_slices > 1) {
> - status =
> - pci_enable_msix(pdev, mgp->msix_vectors,
> - mgp->num_slices);
> - if (status == 0) {
> - mgp->msix_enabled = 1;
> - } else {
> + status = pci_enable_msix_range(pdev, mgp->msix_vectors,
> + mgp->num_slices, mgp->num_slices);
> + if (status < 0) {
> dev_err(&pdev->dev,
> "Error %d setting up MSI-X\n", status);
> return status;
> }
> + mgp->msix_enabled = 1;
> }
> if (mgp->msix_enabled == 0) {
> status = pci_enable_msi(pdev);
> @@ -3901,23 +3899,23 @@ static void myri10ge_probe_slices(struct myri10ge_priv *mgp)
> }
>
> while (mgp->num_slices > 1) {
> - /* make sure it is a power of two */
> - while (!is_power_of_2(mgp->num_slices))
> - mgp->num_slices--;
> + mgp->num_slices = rounddown_pow_of_two(mgp->num_slices);
> if (mgp->num_slices == 1)
> goto disable_msix;
> - status = pci_enable_msix(pdev, mgp->msix_vectors,
> - mgp->num_slices);
> - if (status == 0) {
> - pci_disable_msix(pdev);
> + status = pci_enable_msix_range(pdev, mgp->msix_vectors,
> + mgp->num_slices, mgp->num_slices);
The continuation line(s) should be aligned to start right under 'pdev',
according to the networking coding rules.
> + if (status < 0)
> + goto disable_msix;
Hm, if enabling MSI failed, we don't need to disable it, right? So,
perhaps the label should be renamed?
> +
> + pci_disable_msix(pdev);
> +
> + if (status == mgp->num_slices) {
> if (old_allocated)
> kfree(old_fw);
> return;
> - }
> - if (status > 0)
> + } else {
> mgp->num_slices = status;
> - else
> - goto disable_msix;
> + }
> }
>
> disable_msix:
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists