]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/media/radio/radio-keene.c
Merge tag 'renesas-fixes3-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / drivers / media / radio / radio-keene.c
index 4c9ae767fb31c3739c08e82888b4ecb1ecbf280a..21db23b196bed15eb46af3d1214fe5774a74062e 100644 (file)
@@ -93,7 +93,7 @@ static int keene_cmd_main(struct keene_device *radio, unsigned freq, bool play)
        /* If bit 4 is set, then tune to the frequency.
           If bit 3 is set, then unmute; if bit 2 is set, then mute.
           If bit 1 is set, then enter idle mode; if bit 0 is set,
-          then enter transit mode.
+          then enter transmit mode.
         */
        radio->buffer[5] = (radio->muted ? 4 : 8) | (play ? 1 : 2) |
                                                        (freq ? 0x10 : 0);
@@ -350,7 +350,6 @@ static int usb_keene_probe(struct usb_interface *intf,
        radio->pa = 118;
        radio->tx = 0x32;
        radio->stereo = true;
-       radio->curfreq = 95.16 * FREQ_MUL;
        if (hdl->error) {
                retval = hdl->error;
 
@@ -383,6 +382,10 @@ static int usb_keene_probe(struct usb_interface *intf,
        video_set_drvdata(&radio->vdev, radio);
        set_bit(V4L2_FL_USE_FH_PRIO, &radio->vdev.flags);
 
+       /* at least 11ms is needed in order to settle hardware */
+       msleep(20);
+       keene_cmd_main(radio, 95.16 * FREQ_MUL, false);
+
        retval = video_register_device(&radio->vdev, VFL_TYPE_RADIO, -1);
        if (retval < 0) {
                dev_err(&intf->dev, "could not register video device\n");