From: David S. Miller Date: Wed, 2 Oct 2013 21:11:50 +0000 (-0400) Subject: Merge branch 'mv643xx' X-Git-Tag: v3.12-rc7~20^2~74 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=569943d0639c85a451ea853087cbd5f738247dd9;p=~emulex%2Finfiniband.git Merge branch 'mv643xx' Sebastian Hesselbarth says: ==================== This patch set comprises some one-liners to fix issues with repeated loading and unloading of a modular mv643xx_eth driver. First two patches take care of the periodic port statistic timer, that updates statistics by reading port registers using add_timer/mod_timer. Patch 1 moves timer re-schedule from mib_counters_update to the timer callback. As mib_counters_update is also called from non-timer context, this ensures the timer is reactivated from timer context only. Patch 2 moves initial timer schedule from _probe() time to right before the port is actually started as the corresponding del_timer_sync is at _stop() time. This fixes a regression, where unloading the driver from a non-started eth device can cause the timer to access deallocated mem. Patch 3 adds an assignment of the ports device_node to the corresponding self-created platform_device. This is required to allow fixups based on the device_node's compatible string later. Actually, it is also a potential regression because we already check compatible string for Kirkwood, but does not (yet) rely on the fixup. All patches are based on v3.12-rc3 and have been tested on Kirkwood-based Seagate Dockstar. Patches 1 and 2 can also possibly queued up for -stable. ==================== Signed-off-by: David S. Miller --- 569943d0639c85a451ea853087cbd5f738247dd9