the current logic is:
  struct sk_buff  *skb2 = NULL;
  ...
  if (!skb && !ncm->skb_tx_data)
    return NULL;
  if (skb) {
    ...
  } else if (ncm->skb_tx_data)
    ...
  }
  return skb2;
Which means that first if statement is simply not needed.
Cc: Brooke Basile <brookebasile@gmail.com>
Cc: "Bryan O'Donoghue" <bryan.odonoghue@linaro.org>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Link: https://lore.kernel.org/r/20210701114834.884597-4-zenczykowski@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        const int rem = le16_to_cpu(ntb_parameters.wNdpInPayloadRemainder);
        const int dgram_idx_len = 2 * 2 * opts->dgram_item_len;
 
-       if (!skb && !ncm->skb_tx_data)
-               return NULL;
-
        if (skb) {
                /* Add the CRC if required up front */
                if (ncm->is_crc) {