Skip to content
  • Spencer E. Olson's avatar
    staging: comedi: change do_insn*_ioctl to allow more samples · f8bc1b2e
    Spencer E. Olson authored
    
    
    Changes do_insn*_ioctl functions to allow for data lengths for each
    comedi_insn of up to 2^16.  This patch also changes these functions to only
    allocate as much memory as is necessary for each comedi_insn, rather than
    allocating a fixed-sized scratch space.
    
    In testing some user-space code for the new INSN_DEVICE_CONFIG_GET_ROUTES
    facility with some newer hardware, I discovered that do_insn_ioctl and
    do_insnlist_ioctl limited the amount of data that can be passed into the
    kernel for insn's to a length of 256.  For some newer hardware, the number
    of routes can be greater than 1000.  Working around the old limits (256)
    would complicate the user-space/kernel interaction.
    
    The new upper limit is reasonable with current memory available and does
    not otherwise impact the memory footprint for any current or otherwise
    typical configuration.
    
    Signed-off-by: default avatarSpencer E. Olson <olsonse@umich.edu>
    Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f8bc1b2e