|
@@ -881,10 +881,13 @@ static int ene_set_tx_mask(struct rc_dev *rdev, u32 tx_mask)
|
|
|
static int ene_set_tx_carrier(struct rc_dev *rdev, u32 carrier)
|
|
|
{
|
|
|
struct ene_device *dev = rdev->priv;
|
|
|
- u32 period = 2000000 / carrier;
|
|
|
+ u32 period;
|
|
|
|
|
|
dbg("TX: attempt to set tx carrier to %d kHz", carrier);
|
|
|
+ if (carrier == 0)
|
|
|
+ return -EINVAL;
|
|
|
|
|
|
+ period = 2000000 / carrier;
|
|
|
if (period && (period > ENE_CIRMOD_PRD_MAX ||
|
|
|
period < ENE_CIRMOD_PRD_MIN)) {
|
|
|
|