On 01/15/2018 02:45 PM, Andrew Lunn wrote:
> We only register the ATU and VTU irq when we have a chip level IRQ.
> In the error path, we should only attempt to remove the ATU and VTU
> irq if we also have a chip level IRQ.
> 
> Signed-off-by: Andrew Lunn <and...@lunn.ch>
> ---
>  drivers/net/dsa/mv88e6xxx/chip.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c 
> b/drivers/net/dsa/mv88e6xxx/chip.c
> index 54cb00a27408..eb328bade225 100644
> --- a/drivers/net/dsa/mv88e6xxx/chip.c
> +++ b/drivers/net/dsa/mv88e6xxx/chip.c
> @@ -3999,9 +3999,11 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)
>  out_mdio:
>       mv88e6xxx_mdios_unregister(chip);
>  out_g1_vtu_prob_irq:
> -     mv88e6xxx_g1_vtu_prob_irq_free(chip);
> +     if (chip->irq > 0)
> +             mv88e6xxx_g1_vtu_prob_irq_free(chip);

Why not move this check to mv88e6xxx_g1_vtu_prob_irq_free() and make it
a no-op if chip->irq <= 0?
-- 
Florian

Reply via email to