After enable nvme streams, then if get stream params failed,
We should disable streams before return error in
nvme_configure_directives() function.
Signed-off-by: Wu Bo <[email protected]>
---
drivers/nvme/host/core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index f2adea9..afe1f5a 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -552,8 +552,10 @@ static int nvme_configure_directives(struct nvme_ctrl *ctrl)
return ret;
ret = nvme_get_stream_params(ctrl, &s, NVME_NSID_ALL);
- if (ret)
+ if (ret) {
+ nvme_disable_streams(ctrl);
return ret;
+ }
ctrl->nssa = le16_to_cpu(s.nssa);
if (ctrl->nssa < BLK_MAX_WRITE_HINTS - 1) {
--
1.8.3.1
On Wed, May 06, 2020 at 04:37:01PM +0800, Wu Bo wrote:
> After enable nvme streams, then if get stream params failed,
> We should disable streams before return error in
> nvme_configure_directives() function.
>
> Signed-off-by: Wu Bo <[email protected]>
> ---
> drivers/nvme/host/core.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index f2adea9..afe1f5a 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -552,8 +552,10 @@ static int nvme_configure_directives(struct nvme_ctrl *ctrl)
> return ret;
>
> ret = nvme_get_stream_params(ctrl, &s, NVME_NSID_ALL);
> - if (ret)
> + if (ret) {
> + nvme_disable_streams(ctrl);
> return ret;
> + }
Please use a out_disable goto label to not duplicate the error
handling with the other case that needs it.
On 2020/5/13 0:06, Christoph Hellwig wrote:
> On Wed, May 06, 2020 at 04:37:01PM +0800, Wu Bo wrote:
>> After enable nvme streams, then if get stream params failed,
>> We should disable streams before return error in
>> nvme_configure_directives() function.
>>
>> Signed-off-by: Wu Bo <[email protected]>
>> ---
>> drivers/nvme/host/core.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
>> index f2adea9..afe1f5a 100644
>> --- a/drivers/nvme/host/core.c
>> +++ b/drivers/nvme/host/core.c
>> @@ -552,8 +552,10 @@ static int nvme_configure_directives(struct nvme_ctrl *ctrl)
>> return ret;
>>
>> ret = nvme_get_stream_params(ctrl, &s, NVME_NSID_ALL);
>> - if (ret)
>> + if (ret) {
>> + nvme_disable_streams(ctrl);
>> return ret;
>> + }
>
> Please use a out_disable goto label to not duplicate the error
> handling with the other case that needs it.
>
OK, I will modify it in the V2 patch.
Thanks,
Wu Bo
> .
>