Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp642431ybz; Wed, 22 Apr 2020 05:20:56 -0700 (PDT) X-Google-Smtp-Source: APiQypLSAmBIiUUpedR8LdGdVRYa0h7buey/HR9Zw8nYPtuZQBKPLNDYZT9mDuxiWBis4URQdt5E X-Received: by 2002:a17:906:7e5a:: with SMTP id z26mr7003737ejr.168.1587558056409; Wed, 22 Apr 2020 05:20:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587558056; cv=none; d=google.com; s=arc-20160816; b=rKFgXuA3u1ZrZQM0Z3NGB1S35u0rR5adxD/8IurkxlAetmxE1l9z6zq/9EMKP8XyNE hcsdnpIlwfvDtM1tT4G0Qjc5ze1d+j8Pe7yzjZ+c7W6KhWfTPtP+9tmNpDnCbulHoAR5 TdEy6AF7z1EObQnQCyw3CyRzj3NnkxQd9jUiZgipQIXdV0q6ebRNjHcBL7CH+jLeVtmK OXFEUms+aYWw17XSz1QLasdH28doyCv1IqzET2gY9zvv8cGoCYULeRw2wxFUgPZ3gHmQ CfiYxRkVxFvqMiwxk1F38NO5yAwFFNddTsGmW50kudQ/+2/QKzi1nKGeEvhszSAVgop/ uz+w== 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=9Hm9zvcMO+2ciMGrp/ff9tlvhRc95s8U6UFuZg7w4c4=; b=VgrUlHvWQQ3WCjeWL6CwSHevwfIfhdgrCbZr+Zn5heF2xi7zdI0LN/poJcsKYQQ/o9 XirZdy8Mp+Pw7QsOg8T32QwgQEtnFENjL/djyw6/JpGdsjwl5H61H+qRComdjPLdO8b6 I3rxfvLrDDAkEejQLJYdKu31CUgDWnc2vwA464aVBZbi9gqNqG7IKPp2wUxsGaSVGcIx PA/Xg7FbjjbfNOwTi9g8Smm+s8a1owFHfM0I9ab1A2XdUN4mEkprq0a2LojZYwHRaFQv AXd1uofaK2gBWid9pt7a1FfLffDBbogPn9wIdIO5WL7KSqFG2i2XPHx8HXhNM50A5JEc 3n6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ThVXLNxH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i24si3669776edy.602.2020.04.22.05.20.32; Wed, 22 Apr 2020 05:20:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ThVXLNxH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726060AbgDVKNe (ORCPT + 99 others); Wed, 22 Apr 2020 06:13:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:47326 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728407AbgDVKN0 (ORCPT ); Wed, 22 Apr 2020 06:13:26 -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 70E2620575; Wed, 22 Apr 2020 10:13:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587550405; bh=3h2z9IDbzxVQV+fUdUOCvqUsPvo+eOXmgmiUdyvpTDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ThVXLNxHrx9WIuxySWQY1W4srmY0RMDG35s4YSLN04gdYtAO/RPPIn9mnrh3iaEw2 yHLXI5Km18sznrXExjIEGbtgBPbnD2R1kN9Wsqh/4slLEX+3o4ppUdBVFafwuKyE+w 8d/zMwXnT4lC2XYHva3+Atle0wl80SGw47T1Y+8I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Oliver Neukum , Andy Shevchenko , Lee Jones , Sasha Levin Subject: [PATCH 4.14 105/199] mfd: dln2: Fix sanity checking for endpoints Date: Wed, 22 Apr 2020 11:57:11 +0200 Message-Id: <20200422095108.300701436@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095057.806111593@linuxfoundation.org> References: <20200422095057.806111593@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: Andy Shevchenko [ Upstream commit fb945c95a482200876993977008b67ea658bd938 ] While the commit 2b8bd606b1e6 ("mfd: dln2: More sanity checking for endpoints") tries to harden the sanity checks it made at the same time a regression, i.e. mixed in and out endpoints. Obviously it should have been not tested on real hardware at that time, but unluckily it didn't happen. So, fix above mentioned typo and make device being enumerated again. While here, introduce an enumerator for magic values to prevent similar issue to happen in the future. Fixes: 2b8bd606b1e6 ("mfd: dln2: More sanity checking for endpoints") Cc: Oliver Neukum Cc: Greg Kroah-Hartman Signed-off-by: Andy Shevchenko Signed-off-by: Lee Jones Signed-off-by: Sasha Levin --- drivers/mfd/dln2.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/dln2.c b/drivers/mfd/dln2.c index 95d0f2df0ad42..672831d5ee32e 100644 --- a/drivers/mfd/dln2.c +++ b/drivers/mfd/dln2.c @@ -93,6 +93,11 @@ struct dln2_mod_rx_slots { spinlock_t lock; }; +enum dln2_endpoint { + DLN2_EP_OUT = 0, + DLN2_EP_IN = 1, +}; + struct dln2_dev { struct usb_device *usb_dev; struct usb_interface *interface; @@ -740,10 +745,10 @@ static int dln2_probe(struct usb_interface *interface, hostif->desc.bNumEndpoints < 2) return -ENODEV; - epin = &hostif->endpoint[0].desc; - epout = &hostif->endpoint[1].desc; + epout = &hostif->endpoint[DLN2_EP_OUT].desc; if (!usb_endpoint_is_bulk_out(epout)) return -ENODEV; + epin = &hostif->endpoint[DLN2_EP_IN].desc; if (!usb_endpoint_is_bulk_in(epin)) return -ENODEV; -- 2.20.1