From patchwork Thu Apr 10 00:43:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ABHISHEK SINGH TOMAR X-Patchwork-Id: 2070837 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=l9c44PU/; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=patchwork.ozlabs.org) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4ZY1Kv69Lgz1yJK for ; Thu, 10 Apr 2025 10:44:35 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4ZY1LG5Rj2z3bmS for ; Thu, 10 Apr 2025 10:44:54 +1000 (AEST) X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1744245892; cv=none; b=IWUdbm5dIX8MzoWxK14ivba2MLaFab1rfhBFkbCOz4Qm3nZCQEjnBsBazbt63cH/MutygJ+VGNhcJOfD7Gx2rMxBVlfj4Gy6G7GAJ6UuInU890rdPtnsLXUVk55ZkNflhQoMUTgEmruPCfx24IgGLEIUcp2ylYBpauj53WcIWUXrARZDt0qDp97XnJz5KS6Td0t1ICldjz0xLNFZQH0PhEjVg4+3nTx+PY3ZgSLStc7W216RnliPbPNVOP3MWyxZUaBXSxqjfEW+ZXJlxgD/HUG7WfFMuczCmqVqBUagQ9kXoEe20G5tX6nQ5yFNlW88gtFTsXesTJzxSL5AF4qaaw== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1744245892; c=relaxed/relaxed; bh=+VeaOcDkQvuOA8Crewlss2aZariI6TxVwQgRZiFf5+4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SQj2RNCQryWSCpRDCl5Sq6Ixs+QEtvz/APv4EG2ssqgkmZ0dCeZxhQ7vSVbd81zDqSbOlRokqyJetMvcX7lzGsvgglOyu7tjgW4XcHl3PLgz2VZMUaM7SafRhUuDeQ0XL9tUscsNSjRpBya/gb3uWAvdC4HOLOBjaCL32TOnr3doOjN9C0m1ZKcqalZ2tGpoIx9fGbMm5IqmPPKyahJMUJ6FEFfOgx3qZBzViMENN0rzSXXcFyeKm1q6wUcET+P2pzDCZfb4fu1OAAxS/OwLCyOSnh/piaCNVJugFcfucDidLlTKG+LvOFJnLPSm8xywCUTjN39KITePO9Zkw34zow== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; dkim=pass (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=l9c44PU/; dkim-atps=neutral; spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=abhishek@linux.ibm.com; receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=l9c44PU/; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=abhishek@linux.ibm.com; receiver=lists.ozlabs.org) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4ZY1LC6FHdz30NP for ; Thu, 10 Apr 2025 10:44:51 +1000 (AEST) Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 539MeIX3026319 for ; Thu, 10 Apr 2025 00:44:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=+VeaOcDkQvuOA8Cre wlss2aZariI6TxVwQgRZiFf5+4=; b=l9c44PU/MqiiQKV6e+CVlr2oDclD1UXzg fOCCyqXFpilAyO5cyHEvFTYTNRdRX9s/6IJwjoo6+wCpk+XVZ6K0jdfRtqyBTu9x UH4WRxyIJthGtxWfKrGQFUiT82VDw75LPnfVbY3AU18i9xS4/+Dj3DSqXN1k5ffi 3zUR0c+EhxtK/BqRFGFJU482YM6nzRBf4/hGsXZLe0DAOn+kVhQU0cuMyvM6Jt5w d9+aYZTjIftgC9z5qckKoLiaTHk3GmC/w0NLvqSXnI/ovOR8SXH1/gNkyuFKWx8Q mfx9SV7XivrUcCFR+tZAitM0szb8vFk1GMKN13cSKwr8gE7R0Nrqw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45wtaq390a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 10 Apr 2025 00:44:49 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 53A0diXT007355 for ; Thu, 10 Apr 2025 00:44:49 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45wtaq3907-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 10 Apr 2025 00:44:49 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 539NMPPZ011056; Thu, 10 Apr 2025 00:44:48 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 45uf7ytxvk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 10 Apr 2025 00:44:48 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 53A0iimL41157022 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 10 Apr 2025 00:44:44 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3D9D520043; Thu, 10 Apr 2025 00:44:44 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4C22320040; Thu, 10 Apr 2025 00:44:40 +0000 (GMT) Received: from li-1affcdcc-276b-11b2-a85c-fa8dc3589b76.ibm.com.com (unknown [9.39.22.177]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 10 Apr 2025 00:44:40 +0000 (GMT) From: ABHISHEK SINGH TOMAR To: skiboot@lists.ozlabs.org Date: Thu, 10 Apr 2025 06:13:27 +0530 Message-ID: <20250410004324.89383-6-abhishek@linux.ibm.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250410004324.89383-2-abhishek@linux.ibm.com> References: <20250410004324.89383-2-abhishek@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: MPG55RkakBYZd1LDvx6SUILVR8UYv2qa X-Proofpoint-ORIG-GUID: JFiM1-QRTrHK2PjWhGPwV73wX9lG5kzE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-09_06,2025-04-08_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=767 bulkscore=0 adultscore=0 spamscore=0 malwarescore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504100002 X-Spam-Status: No, score=-1.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org Subject: [Skiboot] [PATCH v2 2/2] hw/lpc-uart.c: Handle read failure case in UART communication X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Abhishek Singh Tomar , abhisheksingh.tomar28@gmail.com, arbab@linux.ibm.com Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" From: Abhishek Singh Tomar Added logic to handle cases where the Line Status Register (LSR) reads 0xFF, which may indicate an error in reading the register through LPC or the presence of multiple simultaneous UART errors. previously, This false read of set bit lead to soft lock or hand in older production systems. In such scenarios, processing data read/write operations does not make sense. The function now returns `false` to signal the failure and halt further operations. Signed-off-by: Abhishek Singh Tomar --- hw/lpc-uart.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/lpc-uart.c b/hw/lpc-uart.c index a5ffc5f22..33955b29c 100644 --- a/hw/lpc-uart.c +++ b/hw/lpc-uart.c @@ -98,10 +98,12 @@ static inline void uart_write(unsigned int reg, uint8_t val) static bool uart_check_tx_room(void) { + uint8_t reg; + if (tx_room) return true; - - if (uart_read(REG_LSR) & LSR_THRE) { + reg = uart_read(REG_LSR); + if (reg & LSR_THRE && reg != 0xff) { /* FIFO is 16 entries */ tx_room = 16; tx_full = false;