Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 325b70c2 authored by Oliver Neukum's avatar Oliver Neukum Committed by Greg Kroah-Hartman
Browse files

USB: fix endianness in mos7720



there's code unclean w.r.t. endianness in the mos7720 driver.

Signed-off-by: default avatarOliver Neukum <oneukum@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 1b55fa2d
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -103,11 +103,9 @@ static void mos7720_interrupt_callback(struct urb *urb)
{
	int result;
	int length;
	__u32 *data;
	unsigned int status;
	__u8 *data;
	__u8 sp1;
	__u8 sp2;
	__u8 st;

	dbg("%s"," : Entering\n");

@@ -141,18 +139,19 @@ static void mos7720_interrupt_callback(struct urb *urb)
	 * Byte 2 IIR Port 2 (port.number is 1)
	 * Byte 3 --------------
	 * Byte 4 FIFO status for both */
	if (length && length > 4) {

	/* the above description is inverted
	 * 	oneukum 2007-03-14 */

	if (unlikely(length != 4)) {
		dbg("Wrong data !!!");
		return;
	}

	status = *data;

	sp1 = (status & 0xff000000)>>24;
	sp2 = (status & 0x00ff0000)>>16;
	st = status & 0x000000ff;
	sp1 = data[3];
	sp2 = data[2];

	if ((sp1 & 0x01) || (sp2 & 0x01)) {
	if ((sp1 | sp2) & 0x01) {
		/* No Interrupt Pending in both the ports */
		dbg("No Interrupt !!!");
	} else {