wimax/i2400m: introduce i2400m_reset(), stopping TX and carrier
Currently the i2400m driver was resetting by just calling i2400m->bus_reset(). However, this was missing stopping the TX queue and downing the carrier. This was causing, for the corner case of the driver reseting a device that refuses to go out of idle mode, that a few packets would be queued and more than one reset would go through, making the recovery a wee bit messy. To avoid introducing the same cleanup in all the bus-specific driver, introduced a i2400m_reset() function that takes care of house cleaning and then calling the bus-level reset implementation. The bulk of the changes in all files are just to rename the call from i2400m->bus_reset() to i2400m_reset(). Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
This commit is contained in:
@@ -214,7 +214,7 @@ int debugfs_i2400m_reset_set(void *data, u64 val)
|
||||
case I2400M_RT_WARM:
|
||||
case I2400M_RT_COLD:
|
||||
case I2400M_RT_BUS:
|
||||
result = i2400m->bus_reset(i2400m, rt);
|
||||
result = i2400m_reset(i2400m, rt);
|
||||
if (result >= 0)
|
||||
result = 0;
|
||||
default:
|
||||
|
Reference in New Issue
Block a user