Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1658752
| From | Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v4 02/27] thunderbolt: No need to read UID of the root switch on resume |
| Date | 2017-06-06 15:10 +0200 |
| Message-ID | <tPmpc-OH-15@gated-at.bofh.it> (permalink) |
| References | <tPlMu-hV-3@gated-at.bofh.it> <tPlMu-hV-15@gated-at.bofh.it> |
| Organization | Intel Finland Oy |
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
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH v4 02/27] thunderbolt: No need to read UID of the root switch on resume Mika Westerberg <mika.westerberg@linux.intel.com> - 2017-06-06 14:30 +0200 Re: [PATCH v4 02/27] thunderbolt: No need to read UID of the root switch on resume Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-06-06 15:10 +0200
csiph-web