On 02/19/2014 11:05 AM, Alexander Gordeev wrote:
On Wed, Feb 19, 2014 at 10:40:19AM -0500, Boris Ostrovsky wrote:
diff --git a/drivers/xen/xen-pciback/pciback_ops.c
b/drivers/xen/xen-pciback/pciback_ops.c
index 64eb0cd..f5b4c3e 100644
--- a/drivers/xen/xen-pciback/pciback_ops.c
+++ b/drivers/xen/xen-pciback/pciback_ops.c
@@ -213,9 +213,15 @@ int xen_pcibk_enable_msix(struct
xen_pcibk_device *pdev,
entries[i].vector = op->msix_entries[i].vector;
}
- result = pci_enable_msix(dev, entries, op->value);
+ result = pci_enable_msix_range(dev, entries, op->value, op->value);
+ if (result < op->value) {
I think it would be better to have 'if (result != op->value)', in
case op->value is negative (which presumably it should never be).
Better yet, at the top of the routine we check 'if (op->value >
SH_INFO_MAX_VEC)'. If you add '|| op->value < 0' we'd be all set.
xen_pci_op::value is uint32_t
Ah, OK --- then 'if (op->value > SH_INFO_MAX_VEC)' alone will catch this
(hopefully its' not in billions).
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html