qed: Reserve doorbell BAR space for present CPUs
authorRam Amrani <Ram.Amrani@cavium.com>
Mon, 20 Feb 2017 20:43:33 +0000 (22:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Oct 2017 15:21:36 +0000 (17:21 +0200)
[ Upstream commit c2dedf8773e873474535bd4a158609b9eda5403d ]

Reserving doorbell BAR space according to the currently active CPUs
may result in a bug if disabled CPUs are later enabled but no
doorbell space was reserved for them.

Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/qlogic/qed/qed_dev.c

index 41367c490a7f14e3a419c388ef5c0106d897f5f9..afe5e57d9acbd67b7fd7adb3d858bede8a392cda 100644 (file)
@@ -877,7 +877,7 @@ qed_hw_init_pf_doorbell_bar(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
                /* Either EDPM is mandatory, or we are attempting to allocate a
                 * WID per CPU.
                 */
-               n_cpus = num_active_cpus();
+               n_cpus = num_present_cpus();
                rc = qed_hw_init_dpi_size(p_hwfn, p_ptt, pwm_regsize, n_cpus);
        }