Bug 723083

Summary: pci_enable_msix reuses irq assigned to devices in intx mode
Product: Red Hat Enterprise Linux 5 Reporter: Jing Huang <huangj>
Component: kernelAssignee: Prarit Bhargava <prarit>
Status: CLOSED WONTFIX QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5.5CC: jarod, revers
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-04 16:52:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
/var/log/message
none
/proc/interrupts before rmmod bfa
none
/proc/interrupts after rmmod bfa and modprobe bfa none

Description Jing Huang 2011-07-19 01:29:27 UTC
Description of problem:
pci_enable_msix()returns an irq which has been assigned to other devices in INTx mode. This causes the subsequent request_irq() to fail with type mismatch since bfa driver doesn't pass IRQF_SHARED for msix vectors. In the message below. IRQ 98 has been used by other drivers (see attached /proc/interrupts outputs).

Oct 13 19:21:57 4D26_23_203 kernel: IRQ handler type mismatch for IRQ 98
Oct 13 19:21:57 4D26_23_203 kernel:  [<c044d50b>] setup_irq+0x176/0x18a
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b509c0>] bfad_msix+0x0/0xa0 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<c044d59b>] request_irq+0x7c/0x98
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b5085a>] bfad_install_msix_handler+0xea/0x250 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b5269f>] bfad_sm_created+0x22f/0x260 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b537fc>] bfad_os_kthread_create+0x3c/0x70 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b50b10>] bfad_worker+0x0/0x50 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b5240e>] bfad_sm_uninit+0xde/0x140 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b5327b>] bfad_pci_probe+0x28b/0x2c0 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b53e50>] bfad_aen_cb_notify+0x0/0x50 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<f8b53a00>] bfa_os_gettimeofday+0x0/0x20 [bfa]
Oct 13 19:21:57 4D26_23_203 kernel:  [<c055d7e2>] __driver_attach+0x0/0x6b
Oct 13 19:21:57 4D26_23_203 kernel:  [<c04f8ed5>] pci_device_probe+0x36/0x57
Oct 13 19:21:57 4D26_23_203 kernel:  [<c055d735>] driver_probe_device+0x42/0x92
Oct 13 19:21:58 4D26_23_203 kernel:  [<c055d826>] __driver_attach+0x44/0x6b
Oct 13 19:21:58 4D26_23_203 kernel:  [<c055d113>] bus_for_each_dev+0x37/0x59
Oct 13 19:21:58 4D26_23_203 kernel:  [<c055d680>] driver_attach+0x11/0x13
Oct 13 19:21:58 4D26_23_203 kernel:  [<c055d7e2>] __driver_attach+0x0/0x6b
Oct 13 19:21:58 4D26_23_203 kernel:  [<c055cdeb>] bus_add_driver+0x64/0xfd
Oct 13 19:21:58 4D26_23_203 kernel:  [<c04f9133>] __pci_register_driver+0x42/0x8c
Oct 13 19:21:58 4D26_23_203 kernel:  [<f88bf10b>] bfad_init+0x10b/0x1ae [bfa]
Oct 13 19:21:58 4D26_23_203 kernel:  [<c043efe9>] sys_init_module+0x1aed/0x1caa
Oct 13 19:21:58 4D26_23_203 kernel:  [<c047119b>] __kmalloc+0x0/0x72
Oct 13 19:21:58 4D26_23_203 kernel:  [<c0449c52>] audit_syscall_entry+0x15a/0x18c
Oct 13 19:21:58 4D26_23_203 kernel:  [<c0404f17>] syscall_call+0x7/0xb
Oct 13 19:21:58 4D26_23_203 kernel:  =======================


Version-Release number of selected component (if applicable):
2.6.18-194.el5PAE

How reproducible:
Install multiple dual port Brocade-825 HBA and Brocade-1020 CNA. Do rmmod bfa and modprobe bfa. In the system we are running the test, we have 3 Brocade-825 and 1 Brocade 1020.

Steps to Reproduce:
1. Boot the system with multiple Brocade 825 HBA and 1020 CNA
2. rmmod bfa
3. modprobe bfa
  
Actual results:
some ports are assigned with irq that is already used by other devices in intx mode.

Expected results:
have exclusive irq assigned for msix or fail pci_enable_msix()

Additional info:

Comment 1 Jing Huang 2011-07-19 01:31:48 UTC
Created attachment 513693 [details]
/var/log/message

Comment 2 Jing Huang 2011-07-19 01:33:07 UTC
Created attachment 513694 [details]
/proc/interrupts before rmmod bfa

Comment 3 Jing Huang 2011-07-19 01:33:58 UTC
Created attachment 513695 [details]
/proc/interrupts after rmmod bfa and modprobe bfa

Comment 7 Prarit Bhargava 2011-08-08 13:16:26 UTC
Does RHEL6 run okay on this system?

P.

Comment 8 Jing Huang 2011-08-08 19:50:02 UTC
This issue was only reproducible with RHEL 5.5 x86. We could not reproduce the problem with RHEL 5.5 x86_64 or RHEL6.

Comment 9 Prarit Bhargava 2013-11-04 16:52:46 UTC
This Bugzilla has been reviewed by Red Hat and is not planned on being
addressed in Red Hat Enterprise Linux 5, and therefore is being closed.
If this bug is critical to production systems, please contact your Red
Hat support representative and provide a sufficient business justification
in order to re-open it.