|
@@ -207,6 +207,15 @@ static int si470x_set_chan(struct si470x_device *radio, unsigned short chan)
|
|
unsigned long time_left;
|
|
unsigned long time_left;
|
|
bool timed_out = false;
|
|
bool timed_out = false;
|
|
|
|
|
|
|
|
+ retval = si470x_get_register(radio, POWERCFG);
|
|
|
|
+ if (retval)
|
|
|
|
+ return retval;
|
|
|
|
+
|
|
|
|
+ if ((radio->registers[POWERCFG] & (POWERCFG_ENABLE|POWERCFG_DMUTE))
|
|
|
|
+ != (POWERCFG_ENABLE|POWERCFG_DMUTE)) {
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
/* start tuning */
|
|
/* start tuning */
|
|
radio->registers[CHANNEL] &= ~CHANNEL_CHAN;
|
|
radio->registers[CHANNEL] &= ~CHANNEL_CHAN;
|
|
radio->registers[CHANNEL] |= CHANNEL_TUNE | chan;
|
|
radio->registers[CHANNEL] |= CHANNEL_TUNE | chan;
|