[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 3/3] xen/arm: handle irq_set_type() failures


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Mykola Kvach <mykola_kvach@xxxxxxxx>
  • Date: Tue, 18 Aug 2026 12:51:41 +0300
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=++vue6zmpgd1AiBfELRsqf8M3Vb4q01LCid6m88uRVM=; b=Dgw4xYI+GZXDgOn81NccNbxIrkvb+RUav9lj0BV4fqeGMVc20Jvq9XSwfLXonAu5ojZQCfGnHRn3R/vKrTzRbZ5TnQhSQsDNAlrHYZIb7ahb34dcGoUxuym1MjnvMRjVn8QTKxUA1ak51IVQHVND8jgVpLYApnmQAVmNvXVVZlKzlWZl4FgKRCKIh1GCaRSV6SP0mAnkGyWulkEDZAhFz/xaWLoJ5refGgXLOkEiDPGRAhhm4ds/qoDL+G2bdrh9qSZmNIvP5xV71mbDVGTWsKGmRmJVXW1zCAvxm09wnhl1+uVnSuxoBHB35NQCTeEAQYYBIJhozF11wXE03CNbcQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HlLXGFQ++o/9yJzw3TuHi8WH5sxDFHixrFU8d6Aa269kzerCBILNv4kTp9xpvxEKTwYWqAGxqz7ucrXfYXkR7ZPnDFIR89Y5SNuSKjV/UJ7upOYAKGA5uRllXvE+EOixUiM7a81dzYDBsuGrxQ8eWf8GDUUL2m2c1Dk08XaW1AjBFH4QwqgHB5hvRPZ+RmqhuDmT4nRd40leEZ2G8bxvCZ7xbiqnWaUuJ4CYldNtKz/c7wMSUUYCCnQ81aoQlMody8QE0nWmX5BDSKCa0JxgGrYRzCXK/fq+rgz7G3/ByCMaHCJI0/lOTp12aZI1b3H7zwcfx8fW+eeDszyRSspMuw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger@xxxxxxxxxxxxxx>, Jens Wiklander <jenswi@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 18 Aug 2026 09:51:51 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Mail-followup-to: Jan Beulich <jbeulich@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger@xxxxxxxxxxxxxx>, Jens Wiklander <jenswi@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx

Hi Jan,

Thank you for the review.

On Wed, Aug 12, 2026 at 09:39:55AM +0200, Jan Beulich wrote:
> On 10.08.2026 20:38, Mykola Kvach wrote:
> > --- a/xen/drivers/char/ns16550.c
> > +++ b/xen/drivers/char/ns16550.c
> > @@ -1928,6 +1928,7 @@ static int __init ns16550_acpi_uart_init(const void 
> > *data)
> >      struct acpi_table_header *table;
> >      struct acpi_table_spcr *spcr;
> >      acpi_status status;
> > +    int rc;
> >      /*
> >       * Same as the DT part.
> >       * Only support one UART on ARM which happen to be ns16550_com[0].
> > @@ -1976,7 +1977,9 @@ static int __init ns16550_acpi_uart_init(const void 
> > *data)
> >      uart->reg_width = spcr->serial_port.access_width;
> >  
> >      /* The trigger/polarity information is not available in spcr. */
> > -    irq_set_type(spcr->interrupt, IRQ_TYPE_LEVEL_HIGH);
> > +    rc = irq_set_type(spcr->interrupt, IRQ_TYPE_LEVEL_HIGH);
> > +    if ( rc )
> > +        return rc;
> 
> Is erroring out still appropriate when part of ns16550_com[] was already
> modified? I.e. doesn't the call need to move up then?

Good point. Returning there can leave ns16550_com[0] partially
initialized. I'll move irq_set_type() before ns16550_init_common()
and before modifying the UART state.

Best regards,
Mykola



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.