From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1458762-1516615919-2-7059787591244567450 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.25, ME_NOAUTH 0.01, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='US', FromHeader='com', MailFrom='org' X-Spam-charsets: plain='UTF-8' X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: linux-usb-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1516615918; b=RG9g2vkc8/+wYcYWVm3fbOeaU4ImOhG5KliDGLUpWTkTpqf 0++2PlLzDAr8TN2hNjB1MzGrY/MtZb8SE5yT6Gnd0gtdW8lJqQZ0a3br/QomG5Kt sbj4bOfKYGtOWV1vAAIJMkKEeOr6ZGNfDkESuvEUiXwJVYlc/tpJmPOr0zRp/xxP T4drS/Dm7tWwS8TqaMpFPNKEeNJlj3ScPV0mi20haEqJB7/tANIxS2KIW6IPqmtY ROjwBhPbMZkT9l6Zyx5wxPyjwVbQahWymI+TU14O7SA3iSmaPdUh2k9VF85khkEd p6ydE2BaosmCqn4SLgtPNTowcwoZlkoRNxyh7NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=message-id:subject:from:to:cc:date :in-reply-to:references:content-type:mime-version :content-transfer-encoding:sender:list-id; s=arctest; t= 1516615918; bh=p4mtHrI2BLOWzK4f7SY4L3KxrO01NK3cd8JhemmTcrg=; b=b Yp/Pjf8NXGiteH7wP7sOS5Fs6RuRgbGac7uC1qHcCYoZpJupVGo+CymFSfKw/ky+ h/UmS1fnovVaNWzMpBpyoBwR0iN6Nng8NIUkpPPxHlTkKVFz94LOd078WFcXhhxq InxKq0PQN5VxM56/DmIXhvNoR3edYM+g7XNo4oDAqWqHt5Ekq7bU7bH7yZyVNXzk ymIwRaWvQT/Z4cTi5N/0EgL0yaFAQCVj2wD7KeqZQhOM4M+U7jG61fauyvOhgdZc 963ZOYxIJTRHqkjRcFWbB5gb9wyoPAWW+0WBd4J+KbLSZID+welTVs3n9SdfcCxJ wz7S8HdB9o6te18KIksng== ARC-Authentication-Results: i=1; mx1.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=none (p=none,has-list-id=yes,d=none) header.from=suse.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=suse.com header.result=pass header_is_org_domain=yes Authentication-Results: mx1.messagingengine.com; arc=none (no signatures found); dkim=none (no signatures found); dmarc=none (p=none,has-list-id=yes,d=none) header.from=suse.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=suse.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751238AbeAVKLm (ORCPT ); Mon, 22 Jan 2018 05:11:42 -0500 Received: from mx2.suse.de ([195.135.220.15]:52386 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751179AbeAVKLm (ORCPT ); Mon, 22 Jan 2018 05:11:42 -0500 Message-ID: <1516615597.7580.7.camel@suse.com> Subject: Re: [PATCH 1/5] USB: serial: f81232: clear overrun flag From: Oliver Neukum To: "Ji-Ze Hong (Peter Hong)" , johan@kernel.org Cc: peter_hong@fintek.com.tw, "Ji-Ze Hong (Peter Hong)" , gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Date: Mon, 22 Jan 2018 11:06:37 +0100 In-Reply-To: <1516607927-8887-1-git-send-email-hpeter+linux_kernel@gmail.com> References: <1516607927-8887-1-git-send-email-hpeter+linux_kernel@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-usb-owner@vger.kernel.org X-Mailing-List: linux-usb@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Am Montag, den 22.01.2018, 15:58 +0800 schrieb Ji-Ze Hong (Peter Hong) : > The F81232 will report data and LSR with bulk like following format: > bulk-in data: [LSR(1Byte)+DATA(1Byte)][LSR(1Byte)+DATA(1Byte)]... > > LSR will auto clear frame/parity/break error flag when reading by H/W, > but overrrun will only cleared when reading LSR. So this patch add a > worker to read LSR when OE. > > Signed-off-by: Ji-Ze Hong (Peter Hong) [..] > +static void f81232_lsr_worker(struct work_struct *work) > +{ > + struct f81232_private *priv; > + struct usb_serial_port *port; > + int status; > + u8 tmp; > + > + priv = container_of(work, struct f81232_private, lsr_work); > + port = priv->port; > + > + status = f81232_get_register(port, LINE_STATUS_REGISTER, &tmp); > + if (status) > + dev_warn(&port->dev, "read LSR failed: %d\n", status); > +} Hi, I am afraid this is incomplete. You are scheduling a work that does IO. Hence you must cancel that work when the driver is unbound from the interface. You must also not do IO like this while the system is suspending. Regards Oliver