Re: USB: core: WARN if pipe direction != setup packet direction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please don't top-post.  And for the third time, please CC your emails 
to the mailing list.  If you don't, I will stop replying.

On Sat, May 29, 2021 at 10:41:51PM +0300, Eero wrote:
> Hi,
> 
> The dvb-t stick works when I did that. Thank you.
> 
> BR, Eero
> 
> On Sat, 29 May 2021 15:21:36 -0400
> > 
> > Does the same problem occur if you don't apply Johan's rtl28xxu patch 
> > and you revert commit 5cc59c418fde from 5.13.rc3-next?
> > 
> > Alan Stern

Johan, it appears that your patch making an empty I2C read actually 
transfer one byte somehow causes a problem for this dvb-t stick.

Below is a copy of the original problem report.  Any ideas?

Alan Stern


The patch removed the warning, but the usb dvb-t stick does not work
because of looping messages in dmesg:
[  418.485387] mxl5005s I2C write failed
[  418.658410] mxl5005s I2C write failed

Those messages come from:

linux-next-next-20210528/drivers/media/tuners/mxl5005s.c

static int mxl5005s_writereg(struct dvb_frontend *fe, u8 reg, u8 val,
int latch) {
	struct mxl5005s_state *state = fe->tuner_priv;
	u8 buf[3] = { reg, val, MXL5005S_LATCH_BYTE };
	struct i2c_msg msg = { .addr = state->config->i2c_address,
.flags = 0, .buf = buf, .len = 3 };

	if (latch == 0)
		msg.len = 2;

	dprintk(2, "%s(0x%x, 0x%x, 0x%x)\n", __func__, reg, val,
	msg.addr);

	if (i2c_transfer(state->i2c, &msg, 1) != 1) {
		printk(KERN_WARNING "mxl5005s I2C write failed\n");
		return -EREMOTEIO;
	}
	return 0;
}

BR, Eero



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux