On Tue, Dec 06, 2016 at 11:05:43AM +0100, Volodymyr Bendiuga wrote:
> If this is not done, then it is not possible to map
> irq next time, after EPROBE_DEFER.
>
> Signed-off-by: Volodymyr Bendiuga <[email protected]>
Hi Volodymyr
Thanks for your patches.
Please could you include in the subject line which tree it is for. See
Documentation/networking/netdev-FAQ.txt
> ---
> drivers/net/dsa/mv88e6xxx/chip.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c
> b/drivers/net/dsa/mv88e6xxx/chip.c
> index 05942e3..12e7d38 100644
> --- a/drivers/net/dsa/mv88e6xxx/chip.c
> +++ b/drivers/net/dsa/mv88e6xxx/chip.c
> @@ -420,6 +420,7 @@ static void mv88e6xxx_g1_irq_free(struct mv88e6xxx_chip
> *chip)
> mv88e6xxx_g1_write(chip, GLOBAL_CONTROL, mask);
>
> free_irq(chip->irq, chip);
> + irq_dispose_mapping(chip->irq);
This seems like the wrong place to do this.
The mapping is created by chip->irq = of_irq_get(np, 0); in
mv88e6xxx_probe(). So the correct place to dispose of this mapping would be in
mv88e6xxx_remove() and the error path of mv88e6xxx_probe().
Thanks
Andrew