Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d84b7e29 authored by Mark Einon's avatar Mark Einon Committed by Greg Kroah-Hartman
Browse files

staging: et131x: Fix add_timer() from et131x_open



The error_timer was only getting initialised and an initial jiffies value set following a probe.
This could result in the timer needlessly expiring immediately after et131x_open is called.
Now this is all done from the open call instead.

Signed-off-by: default avatarMark Einon <mark.einon@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 25e1c278
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ Note, the powermanagement options were removed from the vendor provided
driver as they did not build properly at the time.

TODO:
	- add_timer call in et131x_netdev.c is correct?
	- Implement a few more kernel Parameter (set mac )

Please send patches to:
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@
int et131x_init_eeprom(struct et131x_adapter *adapter);

/* et131x_initpci.c */
void et131x_error_timer_handler(unsigned long data);
void et131x_configure_global_regs(struct et131x_adapter *adapter);
void et131x_enable_interrupts(struct et131x_adapter *adapter);
void et131x_disable_interrupts(struct et131x_adapter *adapter);
+0 −7
Original line number Diff line number Diff line
@@ -750,10 +750,6 @@ static int __devinit et131x_pci_setup(struct pci_dev *pdev,
	/* Copy address into the net_device struct */
	memcpy(netdev->dev_addr, adapter->addr, ETH_ALEN);

	adapter->error_timer.expires = jiffies + TX_ERROR_PERIOD * HZ / 1000;
	adapter->error_timer.function = et131x_error_timer_handler;
	adapter->error_timer.data = (unsigned long)adapter;

	/* Init variable for counting how long we do not have link status */
	adapter->boot_coma = 0;
	et1310_disable_phy_coma(adapter);
@@ -795,9 +791,6 @@ static int __devinit et131x_pci_setup(struct pci_dev *pdev,
	/* Setup et1310 as per the documentation */
	et131x_adapter_setup(adapter);

	/* Create a timer to count errors received by the NIC */
	init_timer(&adapter->error_timer);

	/* We can enable interrupts now
	 *
	 *  NOTE - Because registration of interrupt handler is done in the
+4 −0
Original line number Diff line number Diff line
@@ -187,6 +187,10 @@ int et131x_open(struct net_device *netdev)
	struct et131x_adapter *adapter = netdev_priv(netdev);

	/* Start the timer to track NIC errors */
	init_timer(&adapter->error_timer);
	adapter->error_timer.expires = jiffies + TX_ERROR_PERIOD * HZ / 1000;
	adapter->error_timer.function = et131x_error_timer_handler;
	adapter->error_timer.data = (unsigned long)adapter;
	add_timer(&adapter->error_timer);

	/* Register our IRQ */