|
@@ -27,7 +27,7 @@ int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable)
|
|
|
{
|
|
|
struct i915_audio_component *acomp = bus->audio_component;
|
|
|
|
|
|
- if (!acomp->ops)
|
|
|
+ if (!acomp || !acomp->ops)
|
|
|
return -ENODEV;
|
|
|
|
|
|
if (!acomp->ops->codec_wake_override) {
|
|
@@ -49,7 +49,7 @@ int snd_hdac_display_power(struct hdac_bus *bus, bool enable)
|
|
|
{
|
|
|
struct i915_audio_component *acomp = bus->audio_component;
|
|
|
|
|
|
- if (!acomp->ops)
|
|
|
+ if (!acomp || !acomp->ops)
|
|
|
return -ENODEV;
|
|
|
|
|
|
dev_dbg(bus->dev, "display power %s\n",
|
|
@@ -72,7 +72,7 @@ int snd_hdac_get_display_clk(struct hdac_bus *bus)
|
|
|
{
|
|
|
struct i915_audio_component *acomp = bus->audio_component;
|
|
|
|
|
|
- if (!acomp->ops)
|
|
|
+ if (!acomp || !acomp->ops)
|
|
|
return -ENODEV;
|
|
|
|
|
|
return acomp->ops->get_cdclk_freq(acomp->dev);
|
|
@@ -179,8 +179,11 @@ int snd_hdac_i915_exit(struct hdac_bus *bus)
|
|
|
struct device *dev = bus->dev;
|
|
|
struct i915_audio_component *acomp = bus->audio_component;
|
|
|
|
|
|
+ if (!acomp)
|
|
|
+ return 0;
|
|
|
+
|
|
|
WARN_ON(bus->i915_power_refcount);
|
|
|
- if (bus->i915_power_refcount > 0 && acomp && acomp->ops)
|
|
|
+ if (bus->i915_power_refcount > 0 && acomp->ops)
|
|
|
acomp->ops->put_power(acomp->dev);
|
|
|
|
|
|
component_master_del(dev, &hdac_component_master_ops);
|