summaryrefslogtreecommitdiffstats
path: root/sound/core/hwdep.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-02-23 08:17:28 +0100
committerTakashi Iwai <tiwai@suse.de>2009-02-23 08:17:28 +0100
commit66a101dda6b26ee566aa9cadcbea904a41d2b268 (patch)
treee03b5d40b7b88bb0a2f432bceba4680086d6d3a1 /sound/core/hwdep.c
parentb1a0aac05f044e78a589bfd7a9e2334aa640eb45 (diff)
parent28b7e343ee63454d563a71d2d5f769fc297fd5ad (diff)
downloadtalos-obmc-linux-66a101dda6b26ee566aa9cadcbea904a41d2b268.tar.gz
talos-obmc-linux-66a101dda6b26ee566aa9cadcbea904a41d2b268.zip
Merge branch 'topic/hwdep-cleanup' into topic/hdsp
Diffstat (limited to 'sound/core/hwdep.c')
-rw-r--r--sound/core/hwdep.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sound/core/hwdep.c b/sound/core/hwdep.c
index 195cafc5a553..a70ee7f1ed98 100644
--- a/sound/core/hwdep.c
+++ b/sound/core/hwdep.c
@@ -99,9 +99,6 @@ static int snd_hwdep_open(struct inode *inode, struct file * file)
if (hw == NULL)
return -ENODEV;
- if (!hw->ops.open)
- return -ENXIO;
-
if (!try_module_get(hw->card->module))
return -EFAULT;
@@ -113,6 +110,10 @@ static int snd_hwdep_open(struct inode *inode, struct file * file)
err = -EBUSY;
break;
}
+ if (!hw->ops.open) {
+ err = 0;
+ break;
+ }
err = hw->ops.open(hw, file);
if (err >= 0)
break;
@@ -151,7 +152,7 @@ static int snd_hwdep_open(struct inode *inode, struct file * file)
static int snd_hwdep_release(struct inode *inode, struct file * file)
{
- int err = -ENXIO;
+ int err = 0;
struct snd_hwdep *hw = file->private_data;
struct module *mod = hw->card->module;
OpenPOWER on IntegriCloud