| From foo@baz Wed Nov 21 12:20:20 CET 2018 |
| From: Tristram Ha <Tristram.Ha@microchip.com> |
| Date: Fri, 2 Nov 2018 19:23:41 -0700 |
| Subject: net: dsa: microchip: initialize mutex before use |
| |
| From: Tristram Ha <Tristram.Ha@microchip.com> |
| |
| [ Upstream commit 284fb78ed7572117846f8e1d1d8e3dbfd16880c2 ] |
| |
| Initialize mutex before use. Avoid kernel complaint when |
| CONFIG_DEBUG_LOCK_ALLOC is enabled. |
| |
| Fixes: b987e98e50ab90e5 ("dsa: add DSA switch driver for Microchip KSZ9477") |
| Signed-off-by: Tristram Ha <Tristram.Ha@microchip.com> |
| Reviewed-by: Pavel Machek <pavel@ucw.cz> |
| Reviewed-by: Andrew Lunn <andrew@lunn.ch> |
| Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/dsa/microchip/ksz_common.c | 10 +++++----- |
| 1 file changed, 5 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/net/dsa/microchip/ksz_common.c |
| +++ b/drivers/net/dsa/microchip/ksz_common.c |
| @@ -1104,11 +1104,6 @@ static int ksz_switch_init(struct ksz_de |
| { |
| int i; |
| |
| - mutex_init(&dev->reg_mutex); |
| - mutex_init(&dev->stats_mutex); |
| - mutex_init(&dev->alu_mutex); |
| - mutex_init(&dev->vlan_mutex); |
| - |
| dev->ds->ops = &ksz_switch_ops; |
| |
| for (i = 0; i < ARRAY_SIZE(ksz_switch_chips); i++) { |
| @@ -1193,6 +1188,11 @@ int ksz_switch_register(struct ksz_devic |
| if (dev->pdata) |
| dev->chip_id = dev->pdata->chip_id; |
| |
| + mutex_init(&dev->reg_mutex); |
| + mutex_init(&dev->stats_mutex); |
| + mutex_init(&dev->alu_mutex); |
| + mutex_init(&dev->vlan_mutex); |
| + |
| if (ksz_switch_detect(dev)) |
| return -EINVAL; |
| |