aboutsummaryrefslogtreecommitdiffstats
path: root/sound/firewire/bebob/bebob_command.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/firewire/bebob/bebob_command.c')
-rw-r--r--sound/firewire/bebob/bebob_command.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/sound/firewire/bebob/bebob_command.c b/sound/firewire/bebob/bebob_command.c
index 9402cc15dbc1..f9b4225dd86f 100644
--- a/sound/firewire/bebob/bebob_command.c
+++ b/sound/firewire/bebob/bebob_command.c
@@ -31,13 +31,15 @@ int avc_audio_set_selector(struct fw_unit *unit, unsigned int subunit_id,
31 err = fcp_avc_transaction(unit, buf, 12, buf, 12, 31 err = fcp_avc_transaction(unit, buf, 12, buf, 12,
32 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | 32 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) |
33 BIT(6) | BIT(7) | BIT(8)); 33 BIT(6) | BIT(7) | BIT(8));
34 if (err > 0 && err < 9) 34 if (err < 0)
35 ;
36 else if (err < 9)
35 err = -EIO; 37 err = -EIO;
36 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 38 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
37 err = -ENOSYS; 39 err = -ENOSYS;
38 else if (buf[0] == 0x0a) /* REJECTED */ 40 else if (buf[0] == 0x0a) /* REJECTED */
39 err = -EINVAL; 41 err = -EINVAL;
40 else if (err > 0) 42 else
41 err = 0; 43 err = 0;
42 44
43 kfree(buf); 45 kfree(buf);
@@ -67,7 +69,9 @@ int avc_audio_get_selector(struct fw_unit *unit, unsigned int subunit_id,
67 err = fcp_avc_transaction(unit, buf, 12, buf, 12, 69 err = fcp_avc_transaction(unit, buf, 12, buf, 12,
68 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | 70 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) |
69 BIT(6) | BIT(8)); 71 BIT(6) | BIT(8));
70 if (err > 0 && err < 9) 72 if (err < 0)
73 ;
74 else if (err < 9)
71 err = -EIO; 75 err = -EIO;
72 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 76 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
73 err = -ENOSYS; 77 err = -ENOSYS;
@@ -120,7 +124,9 @@ int avc_bridgeco_get_plug_type(struct fw_unit *unit,
120 err = fcp_avc_transaction(unit, buf, 12, buf, 12, 124 err = fcp_avc_transaction(unit, buf, 12, buf, 12,
121 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | 125 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) |
122 BIT(6) | BIT(7) | BIT(9)); 126 BIT(6) | BIT(7) | BIT(9));
123 if ((err >= 0) && (err < 8)) 127 if (err < 0)
128 ;
129 else if (err < 11)
124 err = -EIO; 130 err = -EIO;
125 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 131 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
126 err = -ENOSYS; 132 err = -ENOSYS;
@@ -150,7 +156,9 @@ int avc_bridgeco_get_plug_ch_pos(struct fw_unit *unit,
150 err = fcp_avc_transaction(unit, buf, 12, buf, 256, 156 err = fcp_avc_transaction(unit, buf, 12, buf, 256,
151 BIT(1) | BIT(2) | BIT(3) | BIT(4) | 157 BIT(1) | BIT(2) | BIT(3) | BIT(4) |
152 BIT(5) | BIT(6) | BIT(7) | BIT(9)); 158 BIT(5) | BIT(6) | BIT(7) | BIT(9));
153 if ((err >= 0) && (err < 8)) 159 if (err < 0)
160 ;
161 else if (err < 11)
154 err = -EIO; 162 err = -EIO;
155 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 163 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
156 err = -ENOSYS; 164 err = -ENOSYS;
@@ -187,7 +195,9 @@ int avc_bridgeco_get_plug_section_type(struct fw_unit *unit,
187 err = fcp_avc_transaction(unit, buf, 12, buf, 12, 195 err = fcp_avc_transaction(unit, buf, 12, buf, 12,
188 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | 196 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) |
189 BIT(6) | BIT(7) | BIT(9) | BIT(10)); 197 BIT(6) | BIT(7) | BIT(9) | BIT(10));
190 if ((err >= 0) && (err < 8)) 198 if (err < 0)
199 ;
200 else if (err < 12)
191 err = -EIO; 201 err = -EIO;
192 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 202 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
193 err = -ENOSYS; 203 err = -ENOSYS;
@@ -221,7 +231,9 @@ int avc_bridgeco_get_plug_input(struct fw_unit *unit,
221 err = fcp_avc_transaction(unit, buf, 16, buf, 16, 231 err = fcp_avc_transaction(unit, buf, 16, buf, 16,
222 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | 232 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) |
223 BIT(6) | BIT(7)); 233 BIT(6) | BIT(7));
224 if ((err >= 0) && (err < 8)) 234 if (err < 0)
235 ;
236 else if (err < 16)
225 err = -EIO; 237 err = -EIO;
226 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 238 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
227 err = -ENOSYS; 239 err = -ENOSYS;
@@ -260,7 +272,9 @@ int avc_bridgeco_get_plug_strm_fmt(struct fw_unit *unit,
260 err = fcp_avc_transaction(unit, buf, 12, buf, *len, 272 err = fcp_avc_transaction(unit, buf, 12, buf, *len,
261 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | 273 BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) |
262 BIT(6) | BIT(7) | BIT(10)); 274 BIT(6) | BIT(7) | BIT(10));
263 if ((err >= 0) && (err < 12)) 275 if (err < 0)
276 ;
277 else if (err < 12)
264 err = -EIO; 278 err = -EIO;
265 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ 279 else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
266 err = -ENOSYS; 280 err = -ENOSYS;