RE: [PATCH v2 1/2] soc: fsl: qbman: Always disable interrupts when taking cgr_lock

From: Camelia Alexandra Groza
Date: Tue Apr 04 2023 - 05:32:58 EST


> -----Original Message-----
> From: Sean Anderson <sean.anderson@xxxxxxxx>
> Sent: Monday, April 3, 2023 18:22
> To: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> Cc: Leo Li <leoyang.li@xxxxxxx>; linuxppc-dev@xxxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; Scott Wood <oss@xxxxxxxxxxxx>; Camelia
> Alexandra Groza <camelia.groza@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
> Roy Pledge <roy.pledge@xxxxxxx>; David S . Miller
> <davem@xxxxxxxxxxxxx>; Claudiu Manoil <claudiu.manoil@xxxxxxx>
> Subject: Re: [PATCH v2 1/2] soc: fsl: qbman: Always disable interrupts when
> taking cgr_lock
>
> On 4/3/23 10:02, Vladimir Oltean wrote:
> > On Fri, Mar 31, 2023 at 11:14:12AM -0400, Sean Anderson wrote:
> >> smp_call_function_single disables IRQs when executing the callback. To
> >> prevent deadlocks, we must disable IRQs when taking cgr_lock elsewhere.
> >> This is already done by qman_update_cgr and qman_delete_cgr; fix the
> >> other lockers.
> >>
> >> Fixes: c535e923bb97 ("soc/fsl: Introduce DPAA 1.x QMan device driver")
> >
> > If you've identified smp_call_function_single() as the problem, then the
> > true issue seems to lie in commit 96f413f47677 ("soc/fsl/qbman: fix
> > issue in qman_delete_cgr_safe()") and not in the initial commit, no?
>
> Yes, that seems better. I did a blame and saw that qman_delete_cgr_safe
> had been around since the initial driver, but I didn't realize it worked
> in a different way back then.
>
> --Sean
>
> > Anyway,
> >
> > Tested-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>

Apart from Vladimir's comment:
Reviewed-by: Camelia Groza <camelia.groza@xxxxxxx>