diff options
Diffstat (limited to 'sound/firewire/bebob/bebob_focusrite.c')
| -rw-r--r-- | sound/firewire/bebob/bebob_focusrite.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/firewire/bebob/bebob_focusrite.c b/sound/firewire/bebob/bebob_focusrite.c index 32b864bee25f..06d6a37cd853 100644 --- a/sound/firewire/bebob/bebob_focusrite.c +++ b/sound/firewire/bebob/bebob_focusrite.c @@ -27,6 +27,8 @@  #define SAFFIRE_CLOCK_SOURCE_SPDIF		1  /* clock sources as returned from register of Saffire Pro 10 and 26 */ +#define SAFFIREPRO_CLOCK_SOURCE_SELECT_MASK	0x000000ff +#define SAFFIREPRO_CLOCK_SOURCE_DETECT_MASK	0x0000ff00  #define SAFFIREPRO_CLOCK_SOURCE_INTERNAL	0  #define SAFFIREPRO_CLOCK_SOURCE_SKIP		1 /* never used on hardware */  #define SAFFIREPRO_CLOCK_SOURCE_SPDIF		2 @@ -189,6 +191,7 @@ saffirepro_both_clk_src_get(struct snd_bebob *bebob, unsigned int *id)  		map = saffirepro_clk_maps[1];  	/* In a case that this driver cannot handle the value of register. */ +	value &= SAFFIREPRO_CLOCK_SOURCE_SELECT_MASK;  	if (value >= SAFFIREPRO_CLOCK_SOURCE_COUNT || map[value] < 0) {  		err = -EIO;  		goto end;  |