The "comedi_isadma" module calls `dma_alloc_coherent()` and
`dma_free_coherent()` with a NULL device pointer which is no longer
allowed. If the `hw_dev` member of the `struct comedi_device` has been
set to a valid device, that can be used instead. Unfortunately, all the
current users of the "comedi_isadma" module leave the `hw_dev` member
set to NULL. In that case, fall back to using the comedi "class" device
pointed to by the `class_dev` member if that is non-NULL. In that case,
make it "DMA-capable" with a coherent DMA mask set to the ISA bus limit
of 16MB (24 bits).
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>