Received: by 10.223.176.5 with SMTP id f5csp1051947wra; Fri, 2 Feb 2018 10:19:51 -0800 (PST) X-Google-Smtp-Source: AH8x224AgPgS0bjWHS62mvzaP4QxftvIYV7up9ZkPukrxiGrVW4ttRPEd/0kIxIoxBIYmGEFiypk X-Received: by 2002:a17:902:2be4:: with SMTP id l91-v6mr3393237plb.387.1517595591025; Fri, 02 Feb 2018 10:19:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517595590; cv=none; d=google.com; s=arc-20160816; b=DUmfm5g3qm2CHzm0gXNfaaXhgsCVT2DxfxAlpITgU/fBRdqELdqn94HvteFZFhnsVI q7MKk1VXpMfncZ+RYCbhAUng9pVA6FQWO/SPlkCEC2aYKLjyOqDwEUTplIRqlZjjguIN M4EibTj5JzT0i45UJfJlb/QN+vTkFYc112EYt4PJJpsxUGTZY4jVxjFXgXe622pZXAhz qVaHGHvkq3wjGkLtK7kWRdfncylMUPMGcR3PBwMsDdmVItl0k0PoSrPn6nLES5avF1Om IdbF18Boel+JAcihOextYpX1IFnIbhUdMhdx8i7sQfqKH0utzBkHChSNrIwYcuDML4Q7 w+Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=DLNbXKnx+rAYUmApZaCpFzhYfyxVICAA3S0gjyoRaNo=; b=T553kqSVPBt/BvNNvoq/bTsDhjcu9fdvZ5WPW3flsjlLnNC00y7cUaWjQfrRT8k56Z dUuIKUu/YL1qZhqBaRRwD7ABYklW8On5ZtUgeJ8iIDqxsu5ZDbyvzUB3xgvfB+3SPxfL 1elXP98lhSh1BownUqHuJVsUDhjv4uB0Ok9IAvLX161mqncG/MVZ7EdIoWgSffT+dVL9 ADIAJ3HmSVGEpTp3mU9XfQxgzCW70jbIQxGWM61svewCDPQ5H/v6mrDnk/He4r8fmZW4 rj7ADTNFRibKQILCc0o1LwqHF8YwVOsyWTRSlsQ68H1b6pqvo+wWETZXnWmOz8b0GRR3 2Ahw== ARC-Authentication-Results: i=1; mx.google.com; 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 a67si473556pgc.151.2018.02.02.10.19.36; Fri, 02 Feb 2018 10:19:50 -0800 (PST) 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; 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 S1752944AbeBBRFF (ORCPT + 99 others); Fri, 2 Feb 2018 12:05:05 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:35442 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752765AbeBBRCc (ORCPT ); Fri, 2 Feb 2018 12:02:32 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id CDC6BE5E; Fri, 2 Feb 2018 17:02:31 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Felipe Balbi , Michal Nazarewicz , John Stultz , Dmitry Shmidt , Badhri , Android Kernel Team , Hemant Kumar , Amit Pundir , Greg KH Subject: [PATCH 4.4 63/67] usb: f_fs: Prevent gadget unbind if it is already unbound Date: Fri, 2 Feb 2018 17:58:32 +0100 Message-Id: <20180202140822.175253730@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180202140815.091718203@linuxfoundation.org> References: <20180202140815.091718203@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Hemant Kumar commit ce5bf9a50daf2d9078b505aca1cea22e88ecb94a upstream. Upon usb composition switch there is possibility of ep0 file release happening after gadget driver bind. In case of composition switch from adb to a non-adb composition gadget will never gets bound again resulting into failure of usb device enumeration. Fix this issue by checking FFS_FL_BOUND flag and avoid extra gadget driver unbind if it is already done as part of composition switch. This fixes adb reconnection error reported on Android running v4.4 and above kernel versions. Verified on Hikey running vanilla v4.15-rc7 + few out of tree Mali patches. Reviewed-at: https://android-review.googlesource.com/#/c/582632/ Cc: Felipe Balbi Cc: Greg KH Cc: Michal Nazarewicz Cc: John Stultz Cc: Dmitry Shmidt Cc: Badhri Cc: Android Kernel Team Signed-off-by: Hemant Kumar [AmitP: Cherry-picked it from android-4.14 and updated the commit log] Signed-off-by: Amit Pundir Signed-off-by: Greg Kroah-Hartman --- drivers/usb/gadget/function/f_fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -3490,7 +3490,8 @@ static void ffs_closed(struct ffs_data * ci = opts->func_inst.group.cg_item.ci_parent->ci_parent; ffs_dev_unlock(); - unregister_gadget_item(ci); + if (test_bit(FFS_FL_BOUND, &ffs->flags)) + unregister_gadget_item(ci); return; done: ffs_dev_unlock();