lkml.org 
[lkml]   [2009]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch/s390 27/46] cio: ccw device online store - report rc from ccw driver.
    From: Sebastian Ott <sebott@linux.vnet.ibm.com>

    In case the ccw driver refuses to set a device offline, we should
    transmit the return code to the caller.

    Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    ---

    drivers/s390/cio/device.c | 14 ++++++--------
    1 file changed, 6 insertions(+), 8 deletions(-)

    Index: quilt-2.6/drivers/s390/cio/device.c
    ===================================================================
    --- quilt-2.6.orig/drivers/s390/cio/device.c
    +++ quilt-2.6/drivers/s390/cio/device.c
    @@ -457,12 +457,13 @@ int ccw_device_set_online(struct ccw_dev
    return (ret == 0) ? -ENODEV : ret;
    }

    -static void online_store_handle_offline(struct ccw_device *cdev)
    +static int online_store_handle_offline(struct ccw_device *cdev)
    {
    if (cdev->private->state == DEV_STATE_DISCONNECTED)
    ccw_device_remove_disconnected(cdev);
    - else if (cdev->drv && cdev->drv->set_offline)
    - ccw_device_set_offline(cdev);
    + else if (cdev->online && cdev->drv && cdev->drv->set_offline)
    + return ccw_device_set_offline(cdev);
    + return 0;
    }

    static int online_store_recog_and_online(struct ccw_device *cdev)
    @@ -530,13 +531,10 @@ static ssize_t online_store (struct devi
    goto out;
    switch (i) {
    case 0:
    - online_store_handle_offline(cdev);
    - ret = count;
    + ret = online_store_handle_offline(cdev);
    break;
    case 1:
    ret = online_store_handle_online(cdev, force);
    - if (!ret)
    - ret = count;
    break;
    default:
    ret = -EINVAL;
    @@ -545,7 +543,7 @@ out:
    if (cdev->drv)
    module_put(cdev->drv->owner);
    atomic_set(&cdev->private->onoff, 0);
    - return ret;
    + return (ret < 0) ? ret : count;
    }

    static ssize_t
    --
    blue skies,
    Martin.

    "Reality continues to ruin my life." - Calvin.



    \
     
     \ /
      Last update: 2009-02-25 16:19    [W:0.021 / U:62.464 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site