• Prarit Bhargava's avatar
    [IA64-SGI] Fix sn_flush_device_kernel & spinlock initialization · 6d6e4200
    Prarit Bhargava authored
    This patch separates the sn_flush_device_list struct into kernel and
    common (both kernel and PROM accessible) structures.  As it was, if the
    size of a spinlock_t changed (due to additional CONFIG options, etc.) the
    sal call which populated the sn_flush_device_list structs would erroneously
    write data (and cause memory corruption and/or a panic).
    
    This patch does the following:
    
    1.  Removes sn_flush_device_list and adds sn_flush_device_common and
    sn_flush_device_kernel.
    
    2.  Adds a new SAL call to populate a sn_flush_device_common struct per
    device, not per widget as previously done.
    
    3.  Correctly initializes each device's sn_flush_device_kernel spinlock_t
    struct (before it was only doing each widget's first device).
    Signed-off-by: default avatarPrarit Bhargava <prarit@sgi.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    6d6e4200
io_init.c 18.2 KB