Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1365571pxf; Fri, 19 Mar 2021 05:50:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqJphXBQESai04lkR6Lkf87ywSE6Jj/BVEmnH+m/DDCpsuqywwnkXlAYIGCKTmDg0OnDOm X-Received: by 2002:a17:907:766f:: with SMTP id kk15mr4211111ejc.24.1616158244884; Fri, 19 Mar 2021 05:50:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616158244; cv=none; d=google.com; s=arc-20160816; b=hw9zplrx00xJgIY2fYi5eMbBvgaTgJZ4wQwrORineOgPhQv2KtIL79nZZgS8DpfDxK FRb5DoA7C+7cuy0Y8i/vVBT6uhqxaZ3r6ehxNURQS2SVggtK+wOyJ06sIhFgSch3YXZf yN95acuYbCG/UgcnhjL57OR3y7d6YnVqWkQO8Hxd+C9C+XecCtHj4NdYBgaCsUSSKUuL wo5Rsb2rYJ8GSm9rQsAYuM3qAVehpKDgS1uhJ4h6fNMcGMRZYYtv98Bm4hbmZxujtHyo bfrCG953Q7NHe9aVDyT1YV2oFrsqV9RdYtH4r9Urv5UOJFrUmYAXPKhayoT6h7zN01Yo gTeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=lLM567jy++V5tj0JbTzI0pIXAnLeH2flx+y9MhQyRIc=; b=kydF4zOzLfTh1MmoZJ+tGPENRHlOB/Qt1snuSUs8SGbQwf/ECb7Ol+UsVtWWqQJC3B gywxdtGeNpI4sq+kvm1rplaxPWmrK1o5X/hBsrdBvLO9PnXV2+uap+JkgrPStyJys/rD TvNWW8aalvvWh3a/d9ihv88dG4tv77sXFpLWhLbkAjA2xtCDrL12PyLcHcLyLbSKXaHt MxSY1m0EB0gEoX3IthzGa2nBjnRUJH5zE+KrGOvv7+07AGsswi4nFwBO1wZaMFA6ckAI SRMXz1xuqrEL6A7LCZjQrBLOZAs/p60iUUxw/dm/Grm1D5PKZfABDkh0cAuyqXPplFbu k0sQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=ZSDgmVBl; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f1si3885947ejz.585.2021.03.19.05.50.20; Fri, 19 Mar 2021 05:50:44 -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=@chromium.org header.s=google header.b=ZSDgmVBl; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229785AbhCSMsk (ORCPT + 99 others); Fri, 19 Mar 2021 08:48:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229914AbhCSMsH (ORCPT ); Fri, 19 Mar 2021 08:48:07 -0400 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E28CC06174A for ; Fri, 19 Mar 2021 05:48:06 -0700 (PDT) Received: by mail-wr1-x429.google.com with SMTP id 61so8970392wrm.12 for ; Fri, 19 Mar 2021 05:48:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lLM567jy++V5tj0JbTzI0pIXAnLeH2flx+y9MhQyRIc=; b=ZSDgmVBlygnWez8XhQnS2IGPakLEpKjAS592kRCM71MM4Foxb5sfZXQsG9FYTMiX/q JtSms6yGHYk/QGWHaftDnv24X9TZrOOuF6Y5SwfuL5hfKqWhk5iW4C/2ZkOxAbsRrZgY Ln4nwaCXlgl8MbnCEIY1/t1B32DNUmh6eLjJ0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lLM567jy++V5tj0JbTzI0pIXAnLeH2flx+y9MhQyRIc=; b=mxGmDHwRkqU8oMGOA/3Xox8SRkGrQpLwg6fXoD+wlAeZM882VU+rO0kiEKUkxIe2L+ qRpupHxbY8A803YkyiI0i0vdDIddcmWiif4VJW+XosFYiiBGO4tmviF1/IBfzxtL1dKa JhLUpVVUpxdYpVxa760ncDsCnqZofEMiaMjHGSs0REPFCJP3Vc0gMyqaJhIF7vklz1r2 qO33iVAx8zzNkdRDA1cVBbyNkySMWkShqIVxzcRJaPqqc+VUeq8iJbekUs1598aTX8ds aIorc+GTSuCNSyKXM4rr3S2X8Ip7M5zrxE8yhqiWXNwSgKtvskPukhmKh17ncP06rhdQ ispg== X-Gm-Message-State: AOAM531ygyKTL4ngH5opg8FT7qpoVWv7ffD/CW9wFGgMOfHQb4+ZMno2 +dG3mQkEZnY4Ba2S2AVzfS4qFTAk6hj5i111U1c= X-Received: by 2002:adf:90c2:: with SMTP id i60mr4406446wri.75.1616158085063; Fri, 19 Mar 2021 05:48:05 -0700 (PDT) Received: from vpa2.c.googlers.com.com (230.69.233.35.bc.googleusercontent.com. [35.233.69.230]) by smtp.gmail.com with ESMTPSA id t8sm7970599wrr.10.2021.03.19.05.48.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Mar 2021 05:48:04 -0700 (PDT) From: Vincent Palatin To: linux-usb@vger.kernel.org Cc: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Johan Hovold , Vincent Palatin Subject: [PATCHi v2] USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem Date: Fri, 19 Mar 2021 13:48:02 +0100 Message-Id: <20210319124802.2315195-1-vpalatin@chromium.org> X-Mailer: git-send-email 2.31.0.rc2.261.g7f71774620-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This LTE modem (M.2 card) has a bug in its power management: there is some kind of race condition for U3 wake-up between the host and the device. The modem firmware sometimes crashes/locks when both events happen at the same time and the modem fully drops off the USB bus (and sometimes re-enumerates, sometimes just gets stuck until the next reboot). Tested with the modem wired to the XHCI controller on an AMD 3015Ce platform. Without the patch, the modem dropped of the USB bus 5 times in 3 days. With the quirk, it stayed connected for a week while the 'runtime_suspended_time' counter incremented as excepted. Signed-off-by: Vincent Palatin --- drivers/usb/core/quirks.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index 6ade3daf7858..76ac5d6555ae 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -498,6 +498,10 @@ static const struct usb_device_id usb_quirk_list[] = { /* DJI CineSSD */ { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, + /* Fibocom L850-GL LTE Modem */ + { USB_DEVICE(0x2cb7, 0x0007), .driver_info = + USB_QUIRK_IGNORE_REMOTE_WAKEUP }, + /* INTEL VALUE SSD */ { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.31.0.rc2.261.g7f71774620-goog