11.12.2020 19:09, Michał Mirosław пишет: > On Thu, Dec 10, 2020 at 11:29:40PM -0800, Dmitry Torokhov wrote: >> Hi Michał, >> On Fri, Dec 11, 2020 at 07:53:56AM +0100, Michał Mirosław wrote: >>> @@ -998,17 +1011,18 @@ static irqreturn_t elants_i2c_irq(int irq, void *_dev) >>> } >>> >>> report_len = ts->buf[FW_HDR_LENGTH] / report_count; >>> - if (report_len != PACKET_SIZE) { >>> + if (report_len != PACKET_SIZE && >>> + report_len != PACKET_SIZE_OLD) { >>> dev_err(&client->dev, >>> - "mismatching report length: %*ph\n", >>> + "unsupported report length: %*ph\n", >>> HEADER_SIZE, ts->buf); >> Do I understand this correctly that the old packets are only observed on >> EKTF3624? If so can we expand the check so that we only accept packets >> with "old" size when we know we are dealing with this device? > > We only have EKTF3624 and can't be sure there are no other chips needing this. In practice this older packet format should be seen only on 3624, but nevertheless we could make it more explicit by adding the extra chip_id checks. It won't be difficult to change it in the future if will be needed. I think the main point that Dmitry Torokhov conveys here is that we should minimize the possible impact on the current EKT3500 code since we don't have definitive answers regarding the firmware differences among the hardware variants.