public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Biju Das <biju.das.jz@bp.renesas.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Zheng Wang <zyytlz.wz@163.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	"linux-renesas-soc@vger.kernel.org" 
	<linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH] usb: gadget: udc: renesas_usb3: Fix RZ/V2M {modprobe,bind} error
Date: Mon, 29 May 2023 10:09:41 +0100	[thread overview]
Message-ID: <86bki3cxm2.wl-maz@kernel.org> (raw)
In-Reply-To: <OS0PR01MB592296756992262EC6D382D0864A9@OS0PR01MB5922.jpnprd01.prod.outlook.com>

On Mon, 29 May 2023 09:42:34 +0100,
Biju Das <biju.das.jz@bp.renesas.com> wrote:
> 
> Hi Laurent,
> 
> Thanks for the feedback.
> 
> > Subject: Re: [PATCH] usb: gadget: udc: renesas_usb3: Fix RZ/V2M
> > {modprobe,bind} error
> > 
> > Hi Biju,
> > 
> > Thank you for the patch.
> > 
> > On Fri, May 26, 2023 at 03:36:15PM +0100, Biju Das wrote:
> > > Currently {modprobe, bind} after {rmmod, unbind} results in probe
> > failure.
> > >
> > > genirq: Flags mismatch irq 22. 00000004 (85070400.usb3drd) vs.
> > > 00000004 (85070400.usb3drd)
> > > renesas_usb3: probe of 85070000.usb3peri failed with error -16
> > >
> > > Fix this issue by replacing "parent dev"->"dev" as the irq resource is
> > > managed by this driver.
> > 
> > If the dev pointer passed to devm_request_irq() is not the correct one,
> > how does it work the first time the driver is loaded ?
> 
> + Marc/ Kernel.org to give some feedback on this issue
> 
> I believe there may be a bug in the genirq (kernel/irq) driver.
> first time it works ok. Maybe this driver is caching on unload
> with null value and comparing with actual one (irq 22) during reload??
> 
> Maybe genirq expert can comment what went wrong here??

You get shouted at because you are registering an interrupt handler
for the same IRQ twice, and the interrupt is not configured with the
SHARED flag. If, as I understand it, you only have a single device
using this interrupt, then it means your driver is not freeing its
interrupt on unload.

And that's probably because the device object used when requesting the
interrupt isn't the one you load/unload, as indicated by the message.
On the first load of "usb3peri", you register an interrupt with
"usb3drd" as the requester device. You then unload "usb3peri", which
of course has no effect whatsoever on the interrupt.

You could simply have done a "cat /proc/interrupt" and see that
interrupt was still there after unload.

So the only bug here is in the handling of the interrupt request. And
that bug firmly lies in your code. My "expert" advise is to debug the
problem rather than suspecting some random failure modes.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

  parent reply	other threads:[~2023-05-29  9:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230526143615.372338-1-biju.das.jz@bp.renesas.com>
     [not found] ` <20230529061714.GA25984@pendragon.ideasonboard.com>
2023-05-29  8:42   ` [PATCH] usb: gadget: udc: renesas_usb3: Fix RZ/V2M {modprobe,bind} error Biju Das
2023-05-29  8:56     ` Laurent Pinchart
2023-05-29  9:12       ` Marc Zyngier
2023-05-30 12:37         ` Biju Das
2023-05-30 13:16           ` Geert Uytterhoeven
2023-05-30 13:47             ` Biju Das
2023-05-29  9:09     ` Marc Zyngier [this message]
2023-05-29  9:39       ` Biju Das
2023-05-29  9:46         ` Laurent Pinchart
2023-05-29  9:59           ` Biju Das
2023-05-29  9:56         ` Marc Zyngier
2023-05-29 10:03           ` Biju Das
2023-05-29 11:15             ` Marc Zyngier
2023-05-29 13:20               ` Biju Das

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86bki3cxm2.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=wsa+renesas@sang-engineering.com \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    --cc=zyytlz.wz@163.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox