Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2361122ybi; Sun, 9 Jun 2019 09:51:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqzU8sjQy0jRFwmvW6knN2pX3V77p9zsdhyCad+JszaC87+k3NLLirVlX+JeT8nVUIOaa28n X-Received: by 2002:a17:902:7e0f:: with SMTP id b15mr58442338plm.237.1560099100382; Sun, 09 Jun 2019 09:51:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560099100; cv=none; d=google.com; s=arc-20160816; b=GjrD2/bjy2Nxo0sY2omxA4ptoTNNQGAgCS65TMgQCvJ7E+w5JLSWifQIm3sfQ31yHM IS/T3hX32puvED0b3AMOPCwrRSHsm4FqLy/b3FO0r9h6Sa1w+UQKIvHOt4gx1TdXpI1n RWoEby0kvghe6E3B0s+w0EoE6jyswif5Cw1QQz17JM4YxSZsj1cM9VUnDb2h51nXlL3t 19mZsnFao3/wnBZW8NhlAeRxli06tTCBupRgFkk2SDi+dkzX6ROzcUUmn9g2sEC/bd70 fpeqbLhD3eD8y+CM+yD29q7qo78/O4Nd92PeBgvpsugxiuZtr3lgRRqjZJpE675uOrTX 7gkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=DCPRVTnDSMqX7ROahNqQJulMU/RZM02DzAEdYNUaJBU=; b=eun3Xd+GIzQguv7o9Q0ZcBCltG4FKvFie5+ethw1ZAuBsk7730AOgGoJ3satZnb2Ve +4V//WOriUQdRX2TYy4yg33T/yRdUVEllwWTRI2nzp9+eXhrY0bkbEW+yFMaQR8qS4XS 3lI94WZokRK/biuOvcb9l0zmlT4vgWiDzMBWS7XSD9OnKTA328bT/f778a3Xp7Rf2jAn ro5Kwprxa6nPkNYM1Ni9R4VaDYfePd3alc0zwCfqQ6rk9oEzYjjrj37oTJR6kKxRlMw6 MM1VRdO+4rqUqffx3xxYpUqSRKb7mk//ktSRO7REcJUds2rYc8KM921Jc1D+atymImw/ /wzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VFx7FCYa; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 31si6594180pgu.103.2019.06.09.09.51.24; Sun, 09 Jun 2019 09:51:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VFx7FCYa; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731188AbfFIQsZ (ORCPT + 99 others); Sun, 9 Jun 2019 12:48:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:47392 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729778AbfFIQsU (ORCPT ); Sun, 9 Jun 2019 12:48:20 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C23D7206DF; Sun, 9 Jun 2019 16:48:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1560098900; bh=djcMLwIfe/22lcru6QrlwMZ98x837/yYlP/0xOJ48ow=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VFx7FCYaXpX8yydFEq97I06v1UytuhKwguHeb3cT99bDof7lG+gHUQxXUeuJVnRoZ 5gBUE4UwfaVoi/llt+HPUxCFUddbqjmZaE4j8j8NeRZk59sXLEUh5d9hYjYs8qPOZf J7MmoiMfYtFQtH8v5G3PqraFKQ/+YyrTHeII0uzM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robert Hancock , Michal Simek , Wolfram Sang , stable@kernel.org Subject: [PATCH 4.19 29/51] i2c: xiic: Add max_read_len quirk Date: Sun, 9 Jun 2019 18:42:10 +0200 Message-Id: <20190609164128.917244197@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190609164127.123076536@linuxfoundation.org> References: <20190609164127.123076536@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Robert Hancock commit 49b809586730a77b57ce620b2f9689de765d790b upstream. This driver does not support reading more than 255 bytes at once because the register for storing the number of bytes to read is only 8 bits. Add a max_read_len quirk to enforce this. This was found when using this driver with the SFP driver, which was previously reading all 256 bytes in the SFP EEPROM in one transaction. This caused a bunch of hard-to-debug errors in the xiic driver since the driver/logic was treating the number of bytes to read as zero. Rejecting transactions that aren't supported at least allows the problem to be diagnosed more easily. Signed-off-by: Robert Hancock Reviewed-by: Michal Simek Signed-off-by: Wolfram Sang Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/i2c/busses/i2c-xiic.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/drivers/i2c/busses/i2c-xiic.c +++ b/drivers/i2c/busses/i2c-xiic.c @@ -718,11 +718,16 @@ static const struct i2c_algorithm xiic_a .functionality = xiic_func, }; +static const struct i2c_adapter_quirks xiic_quirks = { + .max_read_len = 255, +}; + static const struct i2c_adapter xiic_adapter = { .owner = THIS_MODULE, .name = DRIVER_NAME, .class = I2C_CLASS_DEPRECATED, .algo = &xiic_algorithm, + .quirks = &xiic_quirks, };