From e0fa65f7bd0dbe0d48c19a1d51079aa6af68620b Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 18 Nov 2007 18:41:24 +0000 Subject: [PATCH] Filter PCI_address_space bit out of bus_master_base in ide_adapter_probe_controller(). ide_adapter_detect_controller() does that itself, but ide_adapter_detect_channel() doesn't. Fixes off-by-one bus master status register access. Shouldn't have caused any serious problems, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22950 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/generic/ide_adapter/ide_adapter.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c b/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c index 2293a4ea0e..361f05babb 100644 --- a/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c +++ b/src/add-ons/kernel/generic/ide_adapter/ide_adapter.c @@ -716,6 +716,8 @@ ide_adapter_probe_controller(device_node_handle parent, const char *controller_d if (res != B_OK || controller_node == NULL) goto err; + bus_master_base &= ~PCI_address_space; + // ignore errors during registration of channels - could be a simple rescan collision ide_adapter_detect_channel(pci, device, controller_node, channel_module_name, can_dma, command_block_base[0], control_block_base[0], bus_master_base,