1. 24 4月, 2013 12 次提交
  2. 23 4月, 2013 4 次提交
  3. 20 4月, 2013 13 次提交
  4. 18 4月, 2013 2 次提交
    • H
      staging: comedi: introduce, and use, comedi_spriv_free() · 2f69915c
      H Hartley Sweeten 提交于
      The comedi_subdevice 'private' variable is a void * that is available
      for the subdevice to use in manner. It's common in comedi drivers for
      the driver to allocate memory for a subdevice and store the pointer
      to that memory in the 'private' variable. It's then the responsibility
      of the driver to free that memory when the device is detached.
      
      Due to how the attach/detach works in comedi, the drivers need to do
      some sanity checking before they can free the allocated memory during
      the detach.
      
      Introduce a helper function, comedi_spriv_free(), to handle freeing
      the private data allocated for a subdevice. This allows moving all the
      sanity checks into the helper function and makes it safe to call
      with any context. It also allows removing some of the boilerplate
      code in the (*detach) functions.
      
      Remove the subdev_8255_cleanup() export in the 8255 subdevice driver
      as well as the addi_watchdog_cleanup() export in the addi_watchdog
      driver and use the new helper instead.
      
      The amplc_dio200_common driver uses a number of local helper functions
      to free the private data for it's subdevices. Remove those as well and
      use the new helper.
      Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Reviewed-by: NIan Abbott <abbotti@mev.co.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2f69915c
    • H
      staging: comedi: unionxx5: fix memory leak during subdevice init · f4362867
      H Hartley Sweeten 提交于
      In the subdevice init during the attach of this driver, private data
      is allocated for each subdevice. The pointer to this data is then
      saved in the subdevice 's->private' so it can be free'ed during the
      detach.
      
      In __unioxx5_subdev_init() an error path exists that can happen before
      the allocated pointer is saved in s->private. Make sure the allocated
      memory is free'ed before returning the error.
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f4362867
  5. 16 4月, 2013 7 次提交
  6. 15 4月, 2013 2 次提交