aperture_64.c: duplicated code, buggy?
authorPavel Machek <pavel@suse.cz>
Mon, 26 May 2008 18:40:47 +0000 (20:40 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 5 Jun 2008 11:58:42 +0000 (13:58 +0200)
commitfa5b8a30cf03520737e9a0ee2ee03a61b2eccf05
treebcb9f1b6b02ef72f0327c5d8d3c40e5f42006a13
parentdd564d0cf08686cf0cc332bf9d48cba5b26a8171
aperture_64.c: duplicated code, buggy?

Hi!

void __init early_gart_iommu_check(void)

contains

for (num = 24; num < 32; num++) {
if (!early_is_k8_nb(read_pci_config(0, num, 3, 0x00)))
continue;

loop, with very similar loop duplicated in

void __init gart_iommu_hole_init(void)

. First copy of a loop seems to be buggy, too. It uses 0 as a "nothing
set" value, which may actually bite us in last_aper_enabled case
(because it may be often zero).

(Beware, it is hard to test this patch, because this code has about
2^8 different code paths, depending on hardware and cmdline settings).

Plus, the second loop does not check for consistency of
aper_enabled. Should it?

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/aperture_64.c