[RFC/RFT 07/10] radio-mr800: remove device removed indicator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From a9b0a308892919514efc692f2a0e28b80ea304ac Mon Sep 17 00:00:00 2001
From: David Ellingsworth <david@xxxxxxxxxxxxxxxxx>
Date: Sat, 12 Sep 2009 01:22:57 -0400
Subject: [PATCH 07/10] mr800: remove device removed indicator

Signed-off-by: David Ellingsworth <david@xxxxxxxxxxxxxxxxx>
---
drivers/media/radio/radio-mr800.c |   20 ++++++++------------
1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c
index 71d15ba..9fd2342 100644
--- a/drivers/media/radio/radio-mr800.c
+++ b/drivers/media/radio/radio-mr800.c
@@ -137,7 +137,6 @@ struct amradio_device {
    int curfreq;
    int stereo;
    int users;
-    int removed;
    int muted;
};

@@ -270,7 +269,7 @@ static void usb_amradio_disconnect(struct usb_interface *intf)
    struct amradio_device *radio = usb_get_intfdata(intf);

    mutex_lock(&radio->lock);
-    radio->removed = 1;
+    radio->usbdev = NULL;
    mutex_unlock(&radio->lock);

    usb_set_intfdata(intf, NULL);
@@ -488,7 +487,7 @@ static int usb_amradio_open(struct file *file)

    mutex_lock(&radio->lock);

-    if (radio->removed) {
+    if (!radio->usbdev) {
        retval = -EIO;
        goto unlock;
    }
@@ -528,19 +527,17 @@ static int usb_amradio_close(struct file *file)

    mutex_lock(&radio->lock);

-    if (radio->removed) {
+    if (!radio->usbdev) {
        retval = -EIO;
        goto unlock;
    }

    radio->users = 0;

-    if (!radio->removed) {
-        retval = amradio_set_mute(radio, AMRADIO_STOP);
-        if (retval < 0)
-            amradio_dev_warn(&radio->videodev.dev,
-                "amradio_stop failed\n");
-    }
+    retval = amradio_set_mute(radio, AMRADIO_STOP);
+    if (retval < 0)
+        amradio_dev_warn(&radio->videodev.dev,
+            "amradio_stop failed\n");

unlock:
    mutex_unlock(&radio->lock);
@@ -555,7 +552,7 @@ static long usb_amradio_ioctl(struct file *file, unsigned int cmd,

    mutex_lock(&radio->lock);

-    if (radio->removed) {
+    if (!radio->usbdev) {
        retval = -EIO;
        goto unlock;
    }
@@ -673,7 +670,6 @@ static int usb_amradio_probe(struct usb_interface *intf,
    radio->videodev.ioctl_ops = &usb_amradio_ioctl_ops;
    radio->videodev.release = usb_amradio_video_device_release;

-    radio->removed = 0;
    radio->users = 0;
    radio->usbdev = interface_to_usbdev(intf);
    radio->curfreq = 95.16 * FREQ_MUL;
--
1.6.3.3

>From a9b0a308892919514efc692f2a0e28b80ea304ac Mon Sep 17 00:00:00 2001
From: David Ellingsworth <david@xxxxxxxxxxxxxxxxx>
Date: Sat, 12 Sep 2009 01:22:57 -0400
Subject: [PATCH 07/10] mr800: remove device removed indicator

Signed-off-by: David Ellingsworth <david@xxxxxxxxxxxxxxxxx>
---
 drivers/media/radio/radio-mr800.c |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c
index 71d15ba..9fd2342 100644
--- a/drivers/media/radio/radio-mr800.c
+++ b/drivers/media/radio/radio-mr800.c
@@ -137,7 +137,6 @@ struct amradio_device {
 	int curfreq;
 	int stereo;
 	int users;
-	int removed;
 	int muted;
 };
 
@@ -270,7 +269,7 @@ static void usb_amradio_disconnect(struct usb_interface *intf)
 	struct amradio_device *radio = usb_get_intfdata(intf);
 
 	mutex_lock(&radio->lock);
-	radio->removed = 1;
+	radio->usbdev = NULL;
 	mutex_unlock(&radio->lock);
 
 	usb_set_intfdata(intf, NULL);
@@ -488,7 +487,7 @@ static int usb_amradio_open(struct file *file)
 
 	mutex_lock(&radio->lock);
 
-	if (radio->removed) {
+	if (!radio->usbdev) {
 		retval = -EIO;
 		goto unlock;
 	}
@@ -528,19 +527,17 @@ static int usb_amradio_close(struct file *file)
 
 	mutex_lock(&radio->lock);
 
-	if (radio->removed) {
+	if (!radio->usbdev) {
 		retval = -EIO;
 		goto unlock;
 	}
 
 	radio->users = 0;
 
-	if (!radio->removed) {
-		retval = amradio_set_mute(radio, AMRADIO_STOP);
-		if (retval < 0)
-			amradio_dev_warn(&radio->videodev.dev,
-				"amradio_stop failed\n");
-	}
+	retval = amradio_set_mute(radio, AMRADIO_STOP);
+	if (retval < 0)
+		amradio_dev_warn(&radio->videodev.dev,
+			"amradio_stop failed\n");
 
 unlock:
 	mutex_unlock(&radio->lock);
@@ -555,7 +552,7 @@ static long usb_amradio_ioctl(struct file *file, unsigned int cmd,
 
 	mutex_lock(&radio->lock);
 
-	if (radio->removed) {
+	if (!radio->usbdev) {
 		retval = -EIO;
 		goto unlock;
 	}
@@ -673,7 +670,6 @@ static int usb_amradio_probe(struct usb_interface *intf,
 	radio->videodev.ioctl_ops = &usb_amradio_ioctl_ops;
 	radio->videodev.release = usb_amradio_video_device_release;
 
-	radio->removed = 0;
 	radio->users = 0;
 	radio->usbdev = interface_to_usbdev(intf);
 	radio->curfreq = 95.16 * FREQ_MUL;
-- 
1.6.3.3


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux