From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [1/5] USB: serial: f81232: clear overrun flag From: Oliver Neukum Message-Id: <1516615597.7580.7.camel@suse.com> Date: Mon, 22 Jan 2018 11:06:37 +0100 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 List-ID: QW0gTW9udGFnLCBkZW4gMjIuMDEuMjAxOCwgMTU6NTggKzA4MDAgc2NocmllYiAgSmktWmUgSG9u ZyAoUGV0ZXIgSG9uZykKOgo+IFRoZSBGODEyMzIgd2lsbCByZXBvcnQgZGF0YSBhbmQgTFNSIHdp dGggYnVsayBsaWtlIGZvbGxvd2luZyBmb3JtYXQ6Cj4gYnVsay1pbiBkYXRhOiBbTFNSKDFCeXRl KStEQVRBKDFCeXRlKV1bTFNSKDFCeXRlKStEQVRBKDFCeXRlKV0uLi4KPiAKPiBMU1Igd2lsbCBh dXRvIGNsZWFyIGZyYW1lL3Bhcml0eS9icmVhayBlcnJvciBmbGFnIHdoZW4gcmVhZGluZyBieSBI L1csCj4gYnV0IG92ZXJycnVuIHdpbGwgb25seSBjbGVhcmVkIHdoZW4gcmVhZGluZyBMU1IuIFNv IHRoaXMgcGF0Y2ggYWRkIGEKPiB3b3JrZXIgdG8gcmVhZCBMU1Igd2hlbiBPRS4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBKaS1aZSBIb25nIChQZXRlciBIb25nKSA8aHBldGVyK2xpbnV4X2tlcm5lbEBn bWFpbC5jb20+ClsuLl0gCj4gK3N0YXRpYyB2b2lkIGY4MTIzMl9sc3Jfd29ya2VyKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKPiArewo+ICsJc3RydWN0IGY4MTIzMl9wcml2YXRlICpwcml2Owo+ ICsJc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydDsKPiArCWludCBzdGF0dXM7Cj4gKwl1OCB0 bXA7Cj4gKwo+ICsJcHJpdiA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZjgxMjMyX3ByaXZh dGUsIGxzcl93b3JrKTsKPiArCXBvcnQgPSBwcml2LT5wb3J0Owo+ICsKPiArCXN0YXR1cyA9IGY4 MTIzMl9nZXRfcmVnaXN0ZXIocG9ydCwgTElORV9TVEFUVVNfUkVHSVNURVIsICZ0bXApOwo+ICsJ aWYgKHN0YXR1cykKPiArCQlkZXZfd2FybigmcG9ydC0+ZGV2LCAicmVhZCBMU1IgZmFpbGVkOiAl ZFxuIiwgc3RhdHVzKTsKPiArfQoKSGksCgpJIGFtIGFmcmFpZCB0aGlzIGlzIGluY29tcGxldGUu IFlvdSBhcmUgc2NoZWR1bGluZyBhIHdvcmsgdGhhdCBkb2VzIElPLgpIZW5jZSB5b3UgbXVzdCBj YW5jZWwgdGhhdCB3b3JrIHdoZW4gdGhlIGRyaXZlciBpcyB1bmJvdW5kIGZyb20gdGhlCmludGVy ZmFjZS4gWW91IG11c3QgYWxzbyBub3QgZG8gSU8gbGlrZSB0aGlzIHdoaWxlIHRoZSBzeXN0ZW0g aXMgc3VzcGVuZGluZy4KCglSZWdhcmRzCgkJT2xpdmVyCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9t IHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUg Ym9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9y ZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK 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