From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752154AbcF1Avu (ORCPT ); Mon, 27 Jun 2016 20:51:50 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:36217 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752082AbcF1Avs (ORCPT ); Mon, 27 Jun 2016 20:51:48 -0400 Subject: Re: [PATCH] serial: 8250_fintek: fix the mismatched IRQ mode To: Ricardo Ribalda Delgado References: <1464314571-15429-1-git-send-email-hpeter+linux_kernel@gmail.com> Cc: Greg Kroah-Hartman , jslaby@suse.com, Alan Cox , Peter Hurley , =?UTF-8?B?UEEyMCBUT00gVFNBSSDolKHlrpfkvZE=?= , Peter H , linux-serial@vger.kernel.org, LKML , "Ji-Ze Hong (Peter Hong)" From: "Ji-Ze Hong (Peter Hong)" Message-ID: <430c447a-bf8f-6268-9d55-e29ada539ea2@gmail.com> Date: Tue, 28 Jun 2016 08:51:38 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ricardo & Greg, Ricardo Ribalda Delgado 於 2016/6/27 下午 06:25 寫道: > Hi Peter,. Hi Greg > On Fri, May 27, 2016 at 4:02 AM, Ji-Ze Hong (Peter Hong) >> + struct irq_data *irq_data = irq_get_irq_data(uart->port.irq); >> + bool level_mode = irqd_is_level_type(irq_data); > > I see a potential problem with this patch: > > If irq_get_irq_data fails, it will return NULL, resulting on a > segmentation fault on irqd_is_level_type: > > #define __irqd_to_state(d) ACCESS_PRIVATE((d)->common, state_use_accessors) > > > I believe that we need to add error checks here I'll try to send a patch to add more checks. >> - return 0; >> + return fintek_8250_set_irq_mode(pdata, level_mode); > > Also why do not call irq_get_irq_data() and irqd_is_level_type() > before return? There is no need to do that work if the probe > determines that it is not a fintek chip. > Also determine the IRQ mode when found a fintek chip. Thanks to point out the potential issue. -- With Best Regards, Peter Hung