1. 29 5月, 2009 1 次提交
    • I
      wimax/i2400m: usb: fix device reset on autosuspend while not yet idle · 2618ab77
      Inaky Perez-Gonzalez 提交于
      When the i2400m is connected to a network, the host interface (USB)
      cannot be suspended. For that to happen, the device has to have
      negotiated with the basestation to put the link on IDLE state.
      
      If the host tries to put the device in standby while it is connected
      but not idle, the device resets, as the driver should not do that.
      
      To avoid triggering that, when the USB susbsytem requires the driver
      to autosuspend the device, the driver checks if the device is not yet
      idle. If it is not, the request is requested (will be retried again
      later on after the autosuspend timeout). At some point the device will
      enter idle and the request will succeed (unless of course, there is
      network traffic, but at that point, there is no idle neither in the
      link or the host interface).
      Signed-off-by: NInaky Perez-Gonzalez <inaky@linux.intel.com>
      2618ab77
  2. 22 5月, 2009 1 次提交
    • I
      wimax/i2400m: usb: fix device reset on autosuspend while not yet idle · e069c0cf
      Inaky Perez-Gonzalez 提交于
      When the i2400m is connected to a network, the host interface (USB)
      cannot be suspended. For that to happen, the device has to have
      negotiated with the basestation to put the link on IDLE state.
      
      If the host tries to put the device in standby while it is connected
      but not idle, the device resets, as the driver should not do that.
      
      To avoid triggering that, when the USB susbsytem requires the driver
      to autosuspend the device, the driver checks if the device is not yet
      idle. If it is not, the request is rejected (will be retried again
      later on after the autosuspend timeout). At some point the device will
      enter idle and the request will succeed (unless of course, there is
      network traffic, but at that point, there is no idle neither in the
      link or the host interface).
      Signed-off-by: NInaky Perez-Gonzalez <inaky@linux.intel.com>
      e069c0cf
  3. 02 3月, 2009 1 次提交
    • I
      wimax/i2400m: add the ability to fallback to other firmware files if the default is not there · 1039abbc
      Inaky Perez-Gonzalez 提交于
      In order to support backwards compatibility with older firmwares when
      a driver is updated by a new kernel release, the i2400m bus drivers
      can declare a list of firmware files they can work with (in general
      these will be each a different version). The firmware loader will try
      them in sequence until one loads.
      
      Thus, if a user doesn't have the latest and greatest firmware that a
      newly installed kernel would require, the driver would fall back to
      the firmware from a previous release.
      
      To support this, the i2400m->bus_fw_name is changed to be a NULL
      terminated array firmware file names (and renamed to bus_fw_names) and
      we add a new entry (i2400m->fw_name) that points to the name of the
      firmware being currently used. All code that needs to print the
      firmware file name uses i2400m->fw_name instead of the old
      i2400m->bus_fw_name.
      
      The code in i2400m_dev_bootstrap() that loads the firmware is changed
      with an iterator over the firmware file name list that tries to load
      each form user space, using the first one that succeeds in
      request_firmware() (and thus stopping the iteration).
      
      The USB and SDIO bus drivers are updated to take advantage of this and
      reflect which firmwares they support.
      Signed-off-by: NInaky Perez-Gonzalez <inaky@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1039abbc
  4. 01 2月, 2009 1 次提交
  5. 09 1月, 2009 1 次提交
  6. 08 1月, 2009 1 次提交