• Andrew Morton's avatar
    [PATCH] s390: common i/o layer · 53e7ea7f
    Andrew Morton authored
    From: Martin Schwidefsky <schwidefsky@de.ibm.com>
    
     - Make blacklist busid-aware. Add "all" keyword and ! operator to cio_ignore
       kernel parameter.
     - Add state change notify function for ccw devices (not mandatory) and
       introduce the "device disconnected" state.
     - Remove auto offline from remove function for ccw devices to be able to
       distinguish between user initiated offline and implicit offline due to
       device removal.
     - Store pointer to subchannel structure in the (hardware) subchannel intparm
       and remove the ioinfo array (hurray...). Remove intparm parameter of
       cio_start.
     - Use busid instead of subchannel number for debug output.
     - Use an opm mask to track which paths are logically online for a subchannel.
     - Pathgroup every device it was requested for, even single path devices.
     - Give i/o on a logically switched off path a grace period to complete, then
       kill the i/o to get the path offline.
     - Correctly initialize all spin_locks with spin_lock_init.
     - Handle status pending/busy while disabling subchannel.
     - Set busid already in cio_validate_subchannel.
     - Add s390_root_dev_{register,unregister} functions.
     - Do stcrw() inside a kernel thread. Add crw overflow handling.
     - Use subchannel lock directly instead of ccw device lock pointer in
       ccw_device_recognition to avoid accessing an already free structure.
     - Take/release ccw device lock in ccw_device_console_enable.
     - Don't wipe out the busid field in ccw_device_console_enable.
     - Call ccw_device_unregister() directly on a notoper event - delaying it via
       queue_work is harmful (subchannel may be removed before ccw_device).
     - Handle not opertional condition in ccw_device_cancel_halt_clear.
     - Correct status pending handling: don't collect pending status directly
       but wait for the interrupt to show up.
     - Enable subchannel when trying a steal lock operation.
     - Introduce doverify bit for delayed path verification.
     - Fix locking in __ccw_device_retry_loop/read_conf_data/read_dev/chars.
     - Make SPID retry mechanism more obvious.
     - qdio: check return code of ccw_device_{halt,clear} in qdio_cleanup. Don't
       try to wait for an interrupt we won't get.
     - qdio: fix shared indicators.
     - qdio: add code to handle i/o killed by cio with active queues.
     - qdio: don't do a shutdown on timeout in interrupt context.
     - Update cio documentation.
    53e7ea7f
device_fsm.c 25 KB