Skip to content
  1. Feb 22, 2010
  2. Feb 20, 2010
    • Samu Onkalo's avatar
      Input: polldev can cause crash in case when polling disabled · d9c4f846
      Samu Onkalo authored
      
      
      When polled input device is opened and closed and there are no other
      users of polled device, the workqueue is created and destroyed in
      every open / close operation. It is probable that at some point
      dynamic allocation of internal parts of the workqueue cause changes to the
      workqueue.
      
      When a work is queued to the workqueue the work struct contains pointers
      to the workqueue data. If the workqueue has been changed and the work
      has never been queued to the new workqueue, work-struct contains pointers
      to the non-existing workqueue. This will cause crash at the work
      cancellation during device close since cancellation of a work assumes
      that the workqueue exists.
      
      To prevent that, work struct is cleaned up at device close. This keeps
      work struct clean for the next use.
      
      Signed-off-by: default avatarSamu Onkalo <samu.p.onkalo@nokia.com>
      Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
      d9c4f846
  3. Feb 18, 2010
  4. Feb 08, 2010
  5. Jan 29, 2010
  6. Jan 28, 2010
  7. Jan 19, 2010
  8. Jan 13, 2010
  9. Jan 11, 2010
  10. Jan 10, 2010
  11. Jan 07, 2010
    • Daniel Drake's avatar
      Input: psmouse - fix Synaptics detection when protocol is disabled · e4e6efd2
      Daniel Drake authored
      
      
      For configurations where Synaptics hardware is present but the Synaptics
      extensions support is not compiled in, the mouse is reprobed and a new
      device is allocated on every suspend/resume.
      
      During probe, psmouse_switch_protocol() calls psmouse_extensions() with
      set_properties=1. This calls the dummy synaptics_init() which returns an
      error code, instructing us not to use the synaptics extensions.
      
      During resume, psmouse_reconnect() calls psmouse_extensions() with
      set_properties=0, in which case call to synaptics_init() is bypassed and
      PSMOUSE_SYNAPTICS is returned. Since the result is different from previous
      attempt psmouse_reconnect() fails and full re-probe happens.
      
      Fix this by tweaking the set_properties=0 codepath in psmouse_extensions()
      to be more careful about offering PSMOUSE_SYNAPTICS extensions.
      
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
      e4e6efd2
  12. Jan 06, 2010
  13. Jan 02, 2010
  14. Dec 31, 2009
  15. Dec 30, 2009
  16. Dec 25, 2009
  17. Dec 16, 2009