diff options
-rw-r--r-- | drivers/pci/setup-res.c | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c index 74eb6febdf87..b7c3a5ea1fca 100644 --- a/drivers/pci/setup-res.c +++ b/drivers/pci/setup-res.c | |||
@@ -248,10 +248,8 @@ static int __pci_assign_resource(struct pci_bus *bus, struct pci_dev *dev, | |||
248 | static int _pci_assign_resource(struct pci_dev *dev, int resno, | 248 | static int _pci_assign_resource(struct pci_dev *dev, int resno, |
249 | resource_size_t size, resource_size_t min_align) | 249 | resource_size_t size, resource_size_t min_align) |
250 | { | 250 | { |
251 | struct resource *res = dev->resource + resno; | ||
252 | struct pci_bus *bus; | 251 | struct pci_bus *bus; |
253 | int ret; | 252 | int ret; |
254 | char *type; | ||
255 | 253 | ||
256 | bus = dev->bus; | 254 | bus = dev->bus; |
257 | while ((ret = __pci_assign_resource(bus, dev, resno, size, min_align))) { | 255 | while ((ret = __pci_assign_resource(bus, dev, resno, size, min_align))) { |
@@ -260,21 +258,6 @@ static int _pci_assign_resource(struct pci_dev *dev, int resno, | |||
260 | bus = bus->parent; | 258 | bus = bus->parent; |
261 | } | 259 | } |
262 | 260 | ||
263 | if (ret) { | ||
264 | if (res->flags & IORESOURCE_MEM) | ||
265 | if (res->flags & IORESOURCE_PREFETCH) | ||
266 | type = "mem pref"; | ||
267 | else | ||
268 | type = "mem"; | ||
269 | else if (res->flags & IORESOURCE_IO) | ||
270 | type = "io"; | ||
271 | else | ||
272 | type = "unknown"; | ||
273 | dev_info(&dev->dev, | ||
274 | "BAR %d: can't assign %s (size %#llx)\n", | ||
275 | resno, type, (unsigned long long) resource_size(res)); | ||
276 | } | ||
277 | |||
278 | return ret; | 261 | return ret; |
279 | } | 262 | } |
280 | 263 | ||
@@ -300,11 +283,16 @@ int pci_assign_resource(struct pci_dev *dev, int resno) | |||
300 | * where firmware left it. That at least has a chance of | 283 | * where firmware left it. That at least has a chance of |
301 | * working, which is better than just leaving it disabled. | 284 | * working, which is better than just leaving it disabled. |
302 | */ | 285 | */ |
303 | if (ret < 0) | 286 | if (ret < 0) { |
287 | dev_info(&dev->dev, "BAR %d: no space for %pR\n", resno, res); | ||
304 | ret = pci_revert_fw_address(res, dev, resno, size); | 288 | ret = pci_revert_fw_address(res, dev, resno, size); |
289 | } | ||
305 | 290 | ||
306 | if (ret < 0) | 291 | if (ret < 0) { |
292 | dev_info(&dev->dev, "BAR %d: failed to assign %pR\n", resno, | ||
293 | res); | ||
307 | return ret; | 294 | return ret; |
295 | } | ||
308 | 296 | ||
309 | res->flags &= ~IORESOURCE_UNSET; | 297 | res->flags &= ~IORESOURCE_UNSET; |
310 | res->flags &= ~IORESOURCE_STARTALIGN; | 298 | res->flags &= ~IORESOURCE_STARTALIGN; |
@@ -344,7 +332,8 @@ int pci_reassign_resource(struct pci_dev *dev, int resno, resource_size_t addsiz | |||
344 | 332 | ||
345 | res->flags &= ~IORESOURCE_UNSET; | 333 | res->flags &= ~IORESOURCE_UNSET; |
346 | res->flags &= ~IORESOURCE_STARTALIGN; | 334 | res->flags &= ~IORESOURCE_STARTALIGN; |
347 | dev_info(&dev->dev, "BAR %d: reassigned %pR\n", resno, res); | 335 | dev_info(&dev->dev, "BAR %d: reassigned %pR (expanded by %#llx)\n", |
336 | resno, res, (unsigned long long) addsize); | ||
348 | if (resno < PCI_BRIDGE_RESOURCES) | 337 | if (resno < PCI_BRIDGE_RESOURCES) |
349 | pci_update_resource(dev, resno); | 338 | pci_update_resource(dev, resno); |
350 | 339 | ||