genesys: avoid dereferencing null pointer
epson: ensure that command() allocates enough memory
genesys: fix some memory leaks
remove code which is never reached
pixma: u32tohex(): shift first, then cast to uint8_t
pixma: avoid buffer overflows
genesys: avoid infinite loop

The stray semicolon prevents executing the loop which could reset the
REG41_FEBUSY bit.
pixma: document falling through to next switch case
kodakio: don't overrun option name array
genesys: compute MAX_SCANNERS from array length

... of genesys_usb_device_list[]
rts8891: check return values
genesys: remove code which is never reached

The surrounding conditions always evaluate as FALSE because the
variables are set to different values before.
genesys: check return values