Re: [3/5] Bluetooth: btmrvl: One check less in btmrvl_sdio_card_to_host()

From: SF Markus Elfring
Date: Tue Mar 13 2018 - 03:46:42 EST


>> @@ -797,12 +792,18 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv)
>> break;
>> }
>>
>> -exit:
>> - if (ret) {
>> - hdev->stat.err_rx++;
>> - kfree_skb(skb);
>> - }
>> + return 0;
>> +
>> +free_skb:
>> + kfree_skb(skb);
>> +e_io:
>> + ret = -EIO;
>> + goto increment_counter;
>>
>> +e_inval:
>> + ret = -EINVAL;
>> +increment_counter:
>> + hdev->stat.err_rx++;
>> return ret;
>
> Nope!
>
> This is not easier to read for me. This goto exit jumping and I hate that.

Can the software design direction become feasible to omit the repeated check
for the variable âretâ (and further initialisations)?

Regards,
Markus