From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754488AbbCIPFf (ORCPT ); Mon, 9 Mar 2015 11:05:35 -0400 Received: from mga14.intel.com ([192.55.52.115]:37530 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932237AbbCIPF3 (ORCPT ); Mon, 9 Mar 2015 11:05:29 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,368,1422950400"; d="scan'208";a="689220198" Message-ID: <1425913502.3838.185.camel@linux.intel.com> Subject: Re: [RFC] With 8250 Designware UART, if writes to the LCR failed the kernel will hung up From: Alan Cox To: Tim Kryger Cc: "long.wanglong" , Peter Hurley , Zhang Zhen , linux-serial@vger.kernel.org, Linux Kernel Mailing List , Tim Kryger , gregkh@linuxfoundation.org, Jamie Iles , Arnd Bergmann , shenjiangjiang@huawei.com, Wang Kai Date: Mon, 09 Mar 2015 15:05:02 +0000 In-Reply-To: References: <54F96F5B.2090601@huawei.com> <54F9DACA.3020103@hurleysoftware.com> <54FD4779.3020902@huawei.com> <1425907939.3838.182.camel@linux.intel.com> Organization: Intel Corporation Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.9 (3.12.9-1.fc21) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2015-03-09 at 07:36 -0700, Tim Kryger wrote: > On Mon, Mar 9, 2015 at 6:32 AM, Alan Cox wrote: > >> Maybe the next release of the board we will upgrade the serial block to the new version. > >> but the issue is that how we circumvent this problem in kernel? > > > > What is the official vendor workaround ? > > They introduced a UART_16550_COMPATIBLE option for the IP which should > be selected. > > If configured, writes to the LCR are allowed even if it is "busy" so > there is no need to retry. > > More importantly there is no possibility of failing to write the LCR > after numerous retries. Ah no - I meant what is their official software workaround for existing parts with the bug ? Presumably they have an errata document that discusses this and the correct methods they recommend to avoid the hang ? Alan