if (err < 0)
                goto out_err;
 
+       /* check hw sg support in order to enable AMSDU */
+       hw->max_tx_fragments = dev->mt76.usb.sg_en ? MT_TX_SG_MAX_SIZE : 1;
        err = mt76x0_register_device(dev);
        if (err < 0)
                goto out_err;
 
-       /* check hw sg support in order to enable AMSDU */
-       if (dev->mt76.usb.sg_en)
-               hw->max_tx_fragments = MT_TX_SG_MAX_SIZE;
-       else
-               hw->max_tx_fragments = 1;
-
        set_bit(MT76_STATE_INITIALIZED, &dev->mphy.state);
 
        return 0;
 
        if (err < 0)
                goto fail;
 
+       /* check hw sg support in order to enable AMSDU */
+       hw->max_tx_fragments = dev->mt76.usb.sg_en ? MT_TX_SG_MAX_SIZE : 1;
        err = mt76_register_device(&dev->mt76, true, mt76x02_rates,
                                   ARRAY_SIZE(mt76x02_rates));
        if (err)
                goto fail;
 
-       /* check hw sg support in order to enable AMSDU */
-       if (dev->mt76.usb.sg_en)
-               hw->max_tx_fragments = MT_TX_SG_MAX_SIZE;
-       else
-               hw->max_tx_fragments = 1;
-
        set_bit(MT76_STATE_INITIALIZED, &dev->mphy.state);
 
        mt76x02_init_debugfs(dev);