Unfortunately, the storm is still there with this patch.

On 2015-5-15, at 18:28, Roger Pau Monné <roger....@citrix.com> wrote:
> 
> El 15/05/15 a les 16.42, Eggert, Lars ha escrit:
>> On 2015-5-15, at 16:35, Roger Pau Monné <roger....@citrix.com> wrote:
>>> 
>>> Yes, but I've realized that isci for example passes an uint32_t instead
>>> of an int, so it might be best to set it to 0.
>> 
>> Here is what I see now:
>> 
>> isci0: <Intel(R) C600 Series Chipset SAS Controller (SATA mode)> port 
>> 0x6000-0x60ff mem 0xde07c000-0xde07ffff,0xddc00000-0xddffffff irq 16 at 
>> device 0.0 on pci10
>> isci0: attempting to allocate 2 MSI-X vectors (2 supported)
>> ISCI: isci->num_interrupts: 2 max_msix_messages: 2
>> isci: 1:000089 ISCI bus_alloc_resource failed
>> 
>> The storm is still there.
> 
> Yes, after looking at the code, isci really needs to check for the
> return value of pci_alloc_msix, because num_interrupts is not updated
> if the allocation fails. Following patch should hopefully fix it,
> please give it a try.
> 
> Roger.
> ---
> diff --git a/sys/dev/isci/isci_interrupt.c b/sys/dev/isci/isci_interrupt.c
> index 52c64f7..f331f3c 100644
> --- a/sys/dev/isci/isci_interrupt.c
> +++ b/sys/dev/isci/isci_interrupt.c
> @@ -128,6 +128,7 @@ isci_interrupt_setup(struct isci_softc *isci)
>           isci->controller_count;
>       BOOL use_msix = FALSE;
>       uint32_t force_legacy_interrupts = 0;
> +     int rc;
> 
>       TUNABLE_INT_FETCH("hw.isci.force_legacy_interrupts",
>           &force_legacy_interrupts);
> @@ -136,8 +137,8 @@ isci_interrupt_setup(struct isci_softc *isci)
>           pci_msix_count(isci->device) >= max_msix_messages) {
> 
>               isci->num_interrupts = max_msix_messages;
> -             pci_alloc_msix(isci->device, &isci->num_interrupts);
> -             if (isci->num_interrupts == max_msix_messages)
> +             rc = pci_alloc_msix(isci->device, &isci->num_interrupts);
> +             if (rc == 0 && isci->num_interrupts == max_msix_messages)
>                       use_msix = TRUE;
>       }
> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to