1615 | | if (!csr->ops->get_max_rom) |
---|
1616 | | csr->max_rom = mr_map[0]; /* default value */ |
---|
1617 | | else { |
---|
1618 | | int i = csr->ops->get_max_rom(csr->bus_info_data, |
---|
1619 | | csr->private_data); |
---|
1620 | | if (i & ~0x3) |
---|
1621 | | return CSR1212_EINVAL; |
---|
1622 | | csr->max_rom = mr_map[i]; |
---|
1623 | | } |
---|
| 1615 | /* |
---|
| 1616 | * There has been a buggy firmware with bus_info_block.max_rom > 0 |
---|
| 1617 | * spotted which actually only supported quadlet read requests to the |
---|
| 1618 | * config ROM. Therefore read everything quadlet by quadlet regardless |
---|
| 1619 | * of what the bus info block says. |
---|
| 1620 | */ |
---|
| 1621 | csr->max_rom = 4; |
---|