lkml.org 
[lkml]   [2017]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v4 02/27] thunderbolt: No need to read UID of the root switch on resume
From
Date
On Tue, 2017-06-06 at 15:24 +0300, Mika Westerberg wrote:
> 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.
>

FWIW,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


> Suggested-by: Andreas Noever <andreas.noever@gmail.com>
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Signed-off-by: Andreas Noever <andreas.noever@gmail.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 */

--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

\
 
 \ /
  Last update: 2017-06-12 00:47    [W:0.158 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site