lkml.org 
[lkml]   [2017]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 02/27] thunderbolt: No need to read UID of the root switch on resume
    Date
    The root switch is part of the host controller and cannot be physically
    removed, so there is no point of reading UID again on resume in order to
    check if the root switch is still the same.

    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    ---
    drivers/thunderbolt/switch.c | 29 ++++++++++++++++++-----------
    1 file changed, 18 insertions(+), 11 deletions(-)

    diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
    index c6f30b1695a9..81f5164a6364 100644
    --- a/drivers/thunderbolt/switch.c
    +++ b/drivers/thunderbolt/switch.c
    @@ -452,19 +452,26 @@ void tb_sw_set_unplugged(struct tb_switch *sw)
    int tb_switch_resume(struct tb_switch *sw)
    {
    int i, err;
    - u64 uid;
    tb_sw_info(sw, "resuming switch\n");

    - err = tb_drom_read_uid_only(sw, &uid);
    - if (err) {
    - tb_sw_warn(sw, "uid read failed\n");
    - return err;
    - }
    - if (sw != sw->tb->root_switch && sw->uid != uid) {
    - tb_sw_info(sw,
    - "changed while suspended (uid %#llx -> %#llx)\n",
    - sw->uid, uid);
    - return -ENODEV;
    + /*
    + * Check for UID of the connected switches except for root
    + * switch which we assume cannot be removed.
    + */
    + if (tb_route(sw)) {
    + u64 uid;
    +
    + err = tb_drom_read_uid_only(sw, &uid);
    + if (err) {
    + tb_sw_warn(sw, "uid read failed\n");
    + return err;
    + }
    + if (sw->uid != uid) {
    + tb_sw_info(sw,
    + "changed while suspended (uid %#llx -> %#llx)\n",
    + sw->uid, uid);
    + return -ENODEV;
    + }
    }

    /* upload configuration */
    --
    2.11.0
    \
     
     \ /
      Last update: 2017-05-26 18:19    [W:4.020 / U:0.352 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site