All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Dennis Dalessandro
	<dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: jgg-uk2M96/98Pc@public.gmane.org,
	dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"Michael J. Ruhl"
	<michael.j.ruhl-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Sebastian Sanchez
	<sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH for-next 07/11] IB/hfi1: Fix infinite loop in 8051 command error path
Date: Wed, 20 Dec 2017 10:08:54 +0200	[thread overview]
Message-ID: <20171220080854.GL2942@mtr-leonro.local> (raw)
In-Reply-To: <20171219035657.2126.88651.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2680 bytes --]

On Mon, Dec 18, 2017 at 07:56:59PM -0800, Dennis Dalessandro wrote:
> From: Sebastian Sanchez <sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
>
> When an 8051 command times out, the entire DC block is restarted. During
> the restart, the host interface version bit is set, which calls
> do_8051_command() recursively. The host version bit needs to be set
> before the link moves into polling, so the host version bit can be set
> in set_local_link_attributes() instead. Thus, the 8051 command functions
> can be simplied as a non-locking version (dd->dc8051_lock) of those
> functions are no longer needed.
>
> Fixes: 9be6a5d788b0 ("IB/hfi1: Prevent LNI out of sync by resetting host interface version")
> Reviewed-by: Michael J. Ruhl <michael.j.ruhl-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Sebastian Sanchez <sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
>  drivers/infiniband/hw/hfi1/chip.c     |   85 ++++++++++++---------------------
>  drivers/infiniband/hw/hfi1/chip.h     |    2 -
>  drivers/infiniband/hw/hfi1/firmware.c |   64 ++++++-------------------
>  3 files changed, 49 insertions(+), 102 deletions(-)
>
> diff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c
> index 87748a6..99c7347 100644
> --- a/drivers/infiniband/hw/hfi1/chip.c
> +++ b/drivers/infiniband/hw/hfi1/chip.c
> @@ -6518,11 +6518,12 @@ static void _dc_start(struct hfi1_devdata *dd)
>  	if (!dd->dc_shutdown)
>  		return;
>
> -	/*
> -	 * Take the 8051 out of reset, wait until 8051 is ready, and set host
> -	 * version bit.
> -	 */
> -	release_and_wait_ready_8051_firmware(dd);
> +	/* Take the 8051 out of reset */
> +	write_csr(dd, DC_DC8051_CFG_RST, 0ull);
> +	/* Wait until 8051 is ready */
> +	if (wait_fm_ready(dd, TIMEOUT_8051_START))
> +		dd_dev_err(dd, "%s: timeout starting 8051 firmware\n",
> +			   __func__);
>
>  	/* Take away reset for LCB and RX FPE (set in lcb_shutdown). */
>  	write_csr(dd, DCC_CFG_RESET, 0x10);
> @@ -8566,23 +8567,30 @@ int write_lcb_csr(struct hfi1_devdata *dd, u32 addr, u64 data)
>  }
>
>  /*
> - * If the 8051 is in reset mode (dd->dc_shutdown == 1), this function
> - * will still continue executing.
> - *
>   * Returns:
>   *	< 0 = Linux error, not able to get access
>   *	> 0 = 8051 command RETURN_CODE
>   */
> -static int _do_8051_command(struct hfi1_devdata *dd, u32 type, u64 in_data,
> -			    u64 *out_data)
> +static int do_8051_command(
> +	struct hfi1_devdata *dd,
> +	u32 type,
> +	u64 in_data,
> +	u64 *out_data)

What did you try to say by this change ? :)

Thanks

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2017-12-20  8:08 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-19  3:56 [PATCH for-next 00/11] IB/hfi1, rdmavt, qib: Driver updates for 12/18/2017 Dennis Dalessandro
     [not found] ` <20171219034753.2126.78386.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19  3:56   ` [PATCH for-next 01/11] IB/hfi1: Destroy link_wq workqueue after free_irq() Dennis Dalessandro
     [not found]     ` <20171219035612.2126.10447.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19 20:57       ` Jason Gunthorpe
     [not found]         ` <20171219205754.GE14814-uk2M96/98Pc@public.gmane.org>
2017-12-20 21:01           ` Ruhl, Michael J
     [not found]             ` <14063C7AD467DE4B82DEDB5C278E86639F0E3917-AtyAts71sc88Ug9VwtkbtrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-12-20 21:11               ` Jason Gunthorpe
     [not found]                 ` <20171220211112.GG22908-uk2M96/98Pc@public.gmane.org>
2017-12-22 13:13                   ` Ruhl, Michael J
2017-12-19  3:56   ` [PATCH for-next 02/11] IB/hfi1: Check return value of strchr before using it Dennis Dalessandro
     [not found]     ` <20171219035621.2126.23093.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-20  8:25       ` Leon Romanovsky
     [not found]         ` <20171220082555.GN2942-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2018-01-03 15:05           ` Dennis Dalessandro
     [not found]             ` <f5849e2b-c8cd-b93b-f32f-f423bff9ae31-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-03 15:27               ` Leon Romanovsky
     [not found]                 ` <20180103152721.GT10145-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2018-01-03 15:42                   ` Dennis Dalessandro
     [not found]                     ` <4555c08f-a568-48ea-e183-2d49ebd36c7c-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-05 17:39                       ` Doug Ledford
2017-12-19  3:56   ` [PATCH for-next 03/11] IB/rdmavt: No need to cancel RNRNAK retry timer when it is running Dennis Dalessandro
2017-12-19  3:56   ` [PATCH for-next 04/11] IB/{rdmavt, hfi1, qib}: Self determine driver name Dennis Dalessandro
     [not found]     ` <20171219035635.2126.59763.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19 20:59       ` Jason Gunthorpe
2017-12-19  3:56   ` [PATCH for-next 05/11] IB/{rdmavt, hfi1, qib}: Remove get_card_name() downcall Dennis Dalessandro
2017-12-19  3:56   ` [PATCH for-next 06/11] IB/rdmavt: Use correct numa node for SRQ allocation Dennis Dalessandro
     [not found]     ` <20171219035649.2126.1625.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-20  8:17       ` Leon Romanovsky
     [not found]         ` <20171220081720.GM2942-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-12-20  8:31           ` Leon Romanovsky
2017-12-19  3:56   ` [PATCH for-next 07/11] IB/hfi1: Fix infinite loop in 8051 command error path Dennis Dalessandro
     [not found]     ` <20171219035657.2126.88651.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-20  8:08       ` Leon Romanovsky [this message]
     [not found]         ` <20171220080854.GL2942-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-12-20 18:02           ` Sanchez, Sebastian
     [not found]             ` <5CDA63463B33C94CA80846587415F0772829387D-8oqHQFITsIGkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-12-20 18:12               ` Jason Gunthorpe
     [not found]                 ` <20171220181244.GD22908-uk2M96/98Pc@public.gmane.org>
2017-12-20 22:24                   ` Sanchez, Sebastian
2017-12-19  3:57   ` [PATCH for-next 08/11] IB/rdmavt: Allocate CQ memory on the correct node Dennis Dalessandro
2017-12-19  3:57   ` [PATCH for-next 09/11] rdma: Update maintainer contact for Intel RDMA drivers Dennis Dalessandro
     [not found]     ` <20171219035711.2126.47130.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19 20:51       ` Jason Gunthorpe
2017-12-22 23:39       ` Jason Gunthorpe
2017-12-19  3:57   ` [PATCH for-next 10/11] IB/{hfi1, qib}: Fix a concurrency issue with device name in logging Dennis Dalessandro
2017-12-19  3:57   ` [PATCH for-next 11/11] IB/rdmavt: Add trace for RNRNAK timer Dennis Dalessandro
2018-01-05 18:36   ` [PATCH for-next 00/11] IB/hfi1, rdmavt, qib: Driver updates for 12/18/2017 Doug Ledford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171220080854.GL2942@mtr-leonro.local \
    --to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=jgg-uk2M96/98Pc@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=michael.j.ruhl-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.