On 1/30/21 1:22 PM, Jakub Kicinski wrote:
On Sat, 30 Jan 2021 10:25:16 -0500 Willem de Bruijn wrote:
@@ -894,12 +894,16 @@ int gsi_channel_start(struct gsi *gsi, u32 channel_id)
         struct gsi_channel *channel = &gsi->channel[channel_id];
         int ret;

-       /* Enable the completion interrupt */
+       /* Enable NAPI and the completion interrupt */
+       napi_enable(&channel->napi);
         gsi_irq_ieob_enable_one(gsi, channel->evt_ring_id);

         ret = __gsi_channel_start(channel, true);
-       if (ret)
-               gsi_irq_ieob_disable_one(gsi, channel->evt_ring_id);
+       if (!ret)
+               return 0;
+
+       gsi_irq_ieob_disable_one(gsi, channel->evt_ring_id);
+       napi_disable(&channel->napi);

         return ret;
  }

subjective, but easier to parse when the normal control flow is linear
and the error path takes a branch (or goto, if reused).

FWIW - fully agreed, I always thought this was part of the kernel
coding style.

That's fine.  I will post a v2 of the series to fix this up.
I'll wait a bit (maybe until Monday morning), in case there's
any other input on the series to address.

Thanks both of you for your comments.

                                        -Alex

Reply via email to