Attention is currently required from: Angel Pons, Arthur Heymans, Felix Held, Kyösti Mälkki, Michał Żygowski, Nico Huber.
8 comments:
File src/device/pciexp_device.c:
Patch Set #11, Line 630: root->max_payload_set = 1;
Current implementation looks good to me. Krystian, Patrick, do you want to […]
I've left comments in where I think the implementation still needs fixing for specific corner case. Marking this discussion as resolved.
File src/device/pciexp_device.c:
Patch Set #17, Line 771: Paylaod
Done
Done
Patch Set #17, Line 774: dvices
Done
Done
File src/device/pciexp_device.c:
Patch Set #18, Line 596: unsigned int
u16
Patch Set #18, Line 610: unsigned int
u16
Patch Set #18, Line 623: unsigned int
u16
Patch Set #18, Line 653: pciexp_dev_set_max_payload_size(parent, max_payload);
Would it make sense to put this inside `if` below?
Patch Set #18, Line 721: parent's
Shouldn't the root's (real one, not what `root` variable points to) Max Payload Size be limited here instead? If I understand this correctly, it only limits immediate parent's MPS and stops there, without propagating it further, so it may be overwritten by `pciexp_sync_max_payload_size()` called from `pciexp_scan_bus()`. This only matters for multi-level bridges, but it should be an easy fix.
To view, visit change 77338. To unsubscribe, or for help writing mail filters, visit settings.