diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2014-02-26 11:25:57 -0700 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-02-26 11:56:09 -0700 |
commit | 5c513bd580323dbe794270c5a96b65ba22f376eb (patch) | |
tree | 8e257c4f472251f5841e4fdb01acbaaacb194c57 /drivers/message/i2o | |
parent | 7ed37fc3289d2d7d9c33abbebc0ecc9343e17101 (diff) | |
download | op-kernel-dev-5c513bd580323dbe794270c5a96b65ba22f376eb.zip op-kernel-dev-5c513bd580323dbe794270c5a96b65ba22f376eb.tar.gz |
i2o: Fix I/O space alignment requirement
When i2o_iop_systab_set() allocates I/O port space, it specifies 1Mb
alignment required. This seems unlikely, since most platforms have only
64Kb of I/O space total. I think 4Kb is a more reasonable choice, since
that's the minimum alignment of a PCI-PCI bridge I/O window.
My guess is that this is a copy/paste error from the memory allocation
code, which specifies 1Mb alignment (which is the minimum alignment of a
PCI-PCI bridge memory window).
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/message/i2o')
-rw-r--r-- | drivers/message/i2o/iop.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/message/i2o/iop.c b/drivers/message/i2o/iop.c index a8373d7..68aef58 100644 --- a/drivers/message/i2o/iop.c +++ b/drivers/message/i2o/iop.c @@ -700,7 +700,7 @@ static int i2o_iop_systab_set(struct i2o_controller *c) root = pci_find_parent_resource(c->pdev, res); if (root == NULL) osm_warn("%s: Can't find parent resource!\n", c->name); - if (root && allocate_resource(root, res, sb->desired_io_size, sb->desired_io_size, sb->desired_io_size, 1 << 20, /* Unspecified, so use 1Mb and play safe */ + if (root && allocate_resource(root, res, sb->desired_io_size, sb->desired_io_size, sb->desired_io_size, 1 << 12, /* Unspecified, so use 4Kb and play safe */ NULL, NULL) >= 0) { c->io_alloc = 1; sb->current_io_size = resource_size(res); |