>>>>> "Yinghai" == Yinghai Lu <[email protected]> writes:

> Found one megaraid_sas HBA probe fails,
> 
> [  187.235190] scsi host2: Avago SAS based MegaRAID driver
> [  191.112365] megaraid_sas 0000:89:00.0: BAR 0: can't reserve [io  
> 0x0000-0x00ff]
> [  191.120548] megaraid_sas 0000:89:00.0: IO memory region busy!

> and the card has resource like,
> [  125.097714] pci 0000:89:00.0: [1000:005d] type 00 class 0x010400
> [  125.104446] pci 0000:89:00.0: reg 0x10: [io  0x0000-0x00ff]
> [  125.110686] pci 0000:89:00.0: reg 0x14: [mem 0xce400000-0xce40ffff 64bit]
> [  125.118286] pci 0000:89:00.0: reg 0x1c: [mem 0xce300000-0xce3fffff 64bit]
> [  125.125891] pci 0000:89:00.0: reg 0x30: [mem 0xce200000-0xce2fffff pref]

> that does not io port resource allocated from BIOS, and kernel can not assign
> one as io port shortage.
> 
> The driver is only looking for MEM, and should not fail.

> It turns out megasas_init_fw() etc are using bar index as mask.
> index 1 is used as mask 1, so that pci_request_selected_regions()
> is trying to request BAR0 instead of BAR1.

> Fix all related reference.

Kashyap? Sumit?

-- 
Martin K. Petersen      Oracle Linux Engineering

Reply via email to