2.3.99-pre8: ht6560b driver bug

From: Wolfgang Fritz (wolfgang.fritz@gmx.net)
Date: Sun May 21 2000 - 14:22:13 EDT

  • Next message: Alan Cox: "Re: resource questions [initio driver fixes (?)]"

    1. 2.3.99-pre8: ht6560b driver bug

    2. The driver for the ht6560b chipset cannot be initialized.
    The following boot messages show up:
    ----------
    Linux version 2.3.99-pre8 (root@eddie) (gcc version egcs-2.91.66
    19990314/Linux
    (egcs-1.1.2 release)) #12 Sam Mai 20 17:43:57 MEST 2000
    On node 0 totalpages: 8192
    zone(0): 4096 pages.
    zone(1): 4096 pages.
    zone(2): 0 pages.
    Initializing CPU#0
    ide_setup: ide0=ht6560b
    kmem_alloc: NULL ptr (name=unknown)
    ht6560b: PORT 0x3e6 ALREADY IN USE

    Console: colour VGA+ 80x25
    Calibrating delay loop... 26.52 BogoMIPS
    Memory: 30564k/32768k available (918k kernel code, 1816k reserved, 64k
    data, 40k
     init, 0k highmem)
    Checking if this processor honours the WP bit even in supervisor mode...
    Ok.
    Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
    Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
    kmem_create: Poisoning requested, but con given - bdev_cache
    Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
    kmem_create: Poisoning requested, but con given - inode_cache
    ... etc
    -----------

    The problem is in the function
    void __init init_ht6560b (void)
    It calls the function check_region, which finally calls kmalloc. This
    kmalloc fails because the cache_sizes array is not yet initialized. To
    prove this, I inserted printk's at some points, which give

    -------------
    Linux version 2.3.99-pre8 (root@eddie) (gcc version egcs-2.91.66
    19990314/Linux
    On node 0 totalpages: 8192
    zone(0): 4096 pages.
    zone(1): 4096 pages.
    zone(2): 0 pages.
    Initializing CPU#0
    ide_setup: ide0=ht6560b
    ***** called by check_region from init_ht6560b
    __request_region (0xc01e947c, 0x3e6, 1, check-region)
    kmem_alloc: NULL ptr (name=unknown)
    ht6560b: PORT 0x3e6 ALREADY IN USE

    Console: colour VGA+ 80x25
    Calibrating delay loop... 26.52 BogoMIPS
    Memory: 30564k/32768k available (918k kernel code, 1816k reserved, 64k
    data, 40k
    Checking if this processor honours the WP bit even in supervisor mode...
    Ok.
    ***** cache_sizes initialized here
    kmem_cache_sizes_init
    Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
    Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
    kmem_create: Poisoning requested, but con given - bdev_cache
    Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
    ----------------

    3. ide ht6560 check_region

    4. see above

    5. n/a

    6. n/a

    7. n/a

    W. Fritz

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Sun May 21 2000 - 14:34:50 EDT