aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wimax/i2400m/i2400m-sdio.h
diff options
context:
space:
mode:
authorInaky Perez-Gonzalez <inaky@linux.intel.com>2009-10-23 20:48:36 -0400
committerInaky Perez-Gonzalez <inaky@linux.intel.com>2009-11-03 15:49:39 -0500
commitfae92216da87d1c78aa51c4503acb312a47266e9 (patch)
tree0df0784e265e6ec55eb0ed5566b8bf99e1dd2ba7 /drivers/net/wimax/i2400m/i2400m-sdio.h
parent02eb41ef2a8631022fd90e096c57562dec9e7a9a (diff)
wimax/i2400m: don't retry SDIO enable in probe() paths
The iwmc3200 has a quirk where retrying SDIO enable during the probe() path causes bad interactions with the TOP function controller that causes a reset storm. The workaround is simply not to retry an SDIO enable in said path (and still do in the reset / reinitialization paths). The driver does so by checking i2400ms->debugfs_dentry to see if it has been initialized; if not, it is in the probe() path. Document said fact in i2400ms->debugfs_entry. Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/i2400m-sdio.h')
-rw-r--r--drivers/net/wimax/i2400m/i2400m-sdio.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/i2400m-sdio.h b/drivers/net/wimax/i2400m/i2400m-sdio.h
index fba482c08d66..b9c4bed3b457 100644
--- a/drivers/net/wimax/i2400m/i2400m-sdio.h
+++ b/drivers/net/wimax/i2400m/i2400m-sdio.h
@@ -100,6 +100,14 @@ enum {
100 * @tx_workqueue: workqeueue used for data TX; we don't use the 100 * @tx_workqueue: workqeueue used for data TX; we don't use the
101 * system's workqueue as that might cause deadlocks with code in 101 * system's workqueue as that might cause deadlocks with code in
102 * the bus-generic driver. 102 * the bus-generic driver.
103 *
104 * @debugfs_dentry: dentry for the SDIO specific debugfs files
105 *
106 * Note this value is set to NULL upon destruction; this is
107 * because some routinges use it to determine if we are inside the
108 * probe() path or some other path. When debugfs is disabled,
109 * creation sets the dentry to '(void*) -ENODEV', which is valid
110 * for the test.
103 */ 111 */
104struct i2400ms { 112struct i2400ms {
105 struct i2400m i2400m; /* FIRST! See doc */ 113 struct i2400m i2400m; /* FIRST! See doc */