• Andrew Morton's avatar
    [PATCH] s390: common i/o layer. · be457375
    Andrew Morton authored
    From: Martin Schwidefsky <schwidefsky@de.ibm.com>
    
    Common i/o layer fixes:
     - Add atomic onoff variable to ccw devices and ccw-group devices to
       avoid races during online/offline.
     - Fix pr_debug calls.
     - A lot of path fixes:
       + Set device to disconnected state after no path event.
       + Fix chpid vary on/off for single path devices.
       + Make logical vary on/off consistent with physical vary on/off.
       + Don't update subchannel schib if the device is gone (dnv not set).
       + Add code to recover lost chpids after machine checks.
       + Avoid processing link incidents, resource accessability events and
         chpid machine checks for logically offline chpids.
       + Recover disconnected devices after chsc machine checks.
       + Delay de-registering of no path devices to avoid deadlocks.
       + Don't redo ssd for known subchannels - the info is static.
       + Introduce a second, "slow" machine check handler thread for new devices.
         The "fast" machine check handler only recovers disconnected devices.
     - Deregister subchannel rather than ccw device on not oper events.
     - Fix calling sequence of notify function vs. path verification.
     - Reset timeout for disconnected devices.
     - Fix problem with debug feature and %s arguments.
     - Fix __get_subchannel_by_stsch to deal with "zombie" subchannels.
     - Avoid "zombie" subchannels if device is not operational during sense id.
     - Handle call to the io_subchannel remove function if the ccw device
       is not registered yet.
     - Add availability attribute for ccw devices: "good", "no device",
       "no path", "boxed".
     - Export ccw_device_work for qdio as module.
     - Retry sense id for tape devices which present intervention required.
     - Don't check the activity control to decide if the device driver interrupt
       handler needs to be called but use the bits in status control.
     - Fix race in ccw_device_stlck.
     - Accumulate deferred condition code.
     - Fix setting_up_sema locking.
     - Call qdio_shutdown instead of qdio_cleanup on failed establish.
     - Fix problem when 64 FCP adapters are initialized simultaneously.
     - Fix problem with >64 adapter interrupt capable devices.
     - Reduce stack usage in qdio.
    be457375
device_ops.c 12.3 KB