Skip to contentSkip to conversation

[Fwd: Patch spinlock initialisation au1000_eth.c]

PATCH New Martin Gebert 1 participant 1 message Jul 21, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 [Fwd: Patch spinlock initialisation au1000_eth.c]

Seems like the spinlock for the AU1x00 ethernet device is initialised too late, as it is already used in enable_mac(), which is called via mii_probe() before the init takes place.
The attached patch is working here for a Linux Au1100 2.6.22.6 kernel, and as far as I checked should also be applicable to the current head (just line numbers differ).

net/au1000_eth.c +0 -0
@@ -656,6 +656,7 @@
		dev->name, base, irq);

	aup = dev->priv;

+ spin_lock_init(&aup->lock);

	/* Allocate the data buffers */
	/* Snooping works fine with eth on all au1xxx */
@@ -766,7 +767,6 @@
		aup->tx_db_inuse[i] = pDB;
	}
-	spin_lock_init(&aup->lock);
	dev->base_addr = base;
	dev->irq = irq;
	dev->open = au1000_open;