diff options
Diffstat (limited to 'drivers/isdn/gigaset/ev-layer.c')
-rw-r--r-- | drivers/isdn/gigaset/ev-layer.c | 301 |
1 files changed, 153 insertions, 148 deletions
diff --git a/drivers/isdn/gigaset/ev-layer.c b/drivers/isdn/gigaset/ev-layer.c index 685638ac1161..8391e09a698a 100644 --- a/drivers/isdn/gigaset/ev-layer.c +++ b/drivers/isdn/gigaset/ev-layer.c | |||
@@ -153,104 +153,104 @@ struct reply_t gigaset_tab_nocid[] = | |||
153 | * action, command */ | 153 | * action, command */ |
154 | 154 | ||
155 | /* initialize device, set cid mode if possible */ | 155 | /* initialize device, set cid mode if possible */ |
156 | {RSP_INIT, -1, -1, SEQ_INIT, 100, 1, {ACT_TIMEOUT} }, | 156 | {RSP_INIT, -1, -1, SEQ_INIT, 100, 1, {ACT_TIMEOUT} }, |
157 | 157 | ||
158 | {EV_TIMEOUT, 100, 100, -1, 101, 3, {0}, "Z\r"}, | 158 | {EV_TIMEOUT, 100, 100, -1, 101, 3, {0}, "Z\r"}, |
159 | {RSP_OK, 101, 103, -1, 120, 5, {ACT_GETSTRING}, | 159 | {RSP_OK, 101, 103, -1, 120, 5, {ACT_GETSTRING}, |
160 | "+GMR\r"}, | 160 | "+GMR\r"}, |
161 | 161 | ||
162 | {EV_TIMEOUT, 101, 101, -1, 102, 5, {0}, "Z\r"}, | 162 | {EV_TIMEOUT, 101, 101, -1, 102, 5, {0}, "Z\r"}, |
163 | {RSP_ERROR, 101, 101, -1, 102, 5, {0}, "Z\r"}, | 163 | {RSP_ERROR, 101, 101, -1, 102, 5, {0}, "Z\r"}, |
164 | 164 | ||
165 | {EV_TIMEOUT, 102, 102, -1, 108, 5, {ACT_SETDLE1}, | 165 | {EV_TIMEOUT, 102, 102, -1, 108, 5, {ACT_SETDLE1}, |
166 | "^SDLE=0\r"}, | 166 | "^SDLE=0\r"}, |
167 | {RSP_OK, 108, 108, -1, 104, -1}, | 167 | {RSP_OK, 108, 108, -1, 104, -1}, |
168 | {RSP_ZDLE, 104, 104, 0, 103, 5, {0}, "Z\r"}, | 168 | {RSP_ZDLE, 104, 104, 0, 103, 5, {0}, "Z\r"}, |
169 | {EV_TIMEOUT, 104, 104, -1, 0, 0, {ACT_FAILINIT} }, | 169 | {EV_TIMEOUT, 104, 104, -1, 0, 0, {ACT_FAILINIT} }, |
170 | {RSP_ERROR, 108, 108, -1, 0, 0, {ACT_FAILINIT} }, | 170 | {RSP_ERROR, 108, 108, -1, 0, 0, {ACT_FAILINIT} }, |
171 | 171 | ||
172 | {EV_TIMEOUT, 108, 108, -1, 105, 2, {ACT_SETDLE0, | 172 | {EV_TIMEOUT, 108, 108, -1, 105, 2, {ACT_SETDLE0, |
173 | ACT_HUPMODEM, | 173 | ACT_HUPMODEM, |
174 | ACT_TIMEOUT} }, | 174 | ACT_TIMEOUT} }, |
175 | {EV_TIMEOUT, 105, 105, -1, 103, 5, {0}, "Z\r"}, | 175 | {EV_TIMEOUT, 105, 105, -1, 103, 5, {0}, "Z\r"}, |
176 | 176 | ||
177 | {RSP_ERROR, 102, 102, -1, 107, 5, {0}, "^GETPRE\r"}, | 177 | {RSP_ERROR, 102, 102, -1, 107, 5, {0}, "^GETPRE\r"}, |
178 | {RSP_OK, 107, 107, -1, 0, 0, {ACT_CONFIGMODE} }, | 178 | {RSP_OK, 107, 107, -1, 0, 0, {ACT_CONFIGMODE} }, |
179 | {RSP_ERROR, 107, 107, -1, 0, 0, {ACT_FAILINIT} }, | 179 | {RSP_ERROR, 107, 107, -1, 0, 0, {ACT_FAILINIT} }, |
180 | {EV_TIMEOUT, 107, 107, -1, 0, 0, {ACT_FAILINIT} }, | 180 | {EV_TIMEOUT, 107, 107, -1, 0, 0, {ACT_FAILINIT} }, |
181 | 181 | ||
182 | {RSP_ERROR, 103, 103, -1, 0, 0, {ACT_FAILINIT} }, | 182 | {RSP_ERROR, 103, 103, -1, 0, 0, {ACT_FAILINIT} }, |
183 | {EV_TIMEOUT, 103, 103, -1, 0, 0, {ACT_FAILINIT} }, | 183 | {EV_TIMEOUT, 103, 103, -1, 0, 0, {ACT_FAILINIT} }, |
184 | 184 | ||
185 | {RSP_STRING, 120, 120, -1, 121, -1, {ACT_SETVER} }, | 185 | {RSP_STRING, 120, 120, -1, 121, -1, {ACT_SETVER} }, |
186 | 186 | ||
187 | {EV_TIMEOUT, 120, 121, -1, 0, 0, {ACT_FAILVER, | 187 | {EV_TIMEOUT, 120, 121, -1, 0, 0, {ACT_FAILVER, |
188 | ACT_INIT} }, | 188 | ACT_INIT} }, |
189 | {RSP_ERROR, 120, 121, -1, 0, 0, {ACT_FAILVER, | 189 | {RSP_ERROR, 120, 121, -1, 0, 0, {ACT_FAILVER, |
190 | ACT_INIT} }, | 190 | ACT_INIT} }, |
191 | {RSP_OK, 121, 121, -1, 0, 0, {ACT_GOTVER, | 191 | {RSP_OK, 121, 121, -1, 0, 0, {ACT_GOTVER, |
192 | ACT_INIT} }, | 192 | ACT_INIT} }, |
193 | {RSP_NONE, 121, 121, -1, 120, 0, {ACT_GETSTRING} }, | 193 | {RSP_NONE, 121, 121, -1, 120, 0, {ACT_GETSTRING} }, |
194 | 194 | ||
195 | /* leave dle mode */ | 195 | /* leave dle mode */ |
196 | {RSP_INIT, 0, 0, SEQ_DLE0, 201, 5, {0}, "^SDLE=0\r"}, | 196 | {RSP_INIT, 0, 0, SEQ_DLE0, 201, 5, {0}, "^SDLE=0\r"}, |
197 | {RSP_OK, 201, 201, -1, 202, -1}, | 197 | {RSP_OK, 201, 201, -1, 202, -1}, |
198 | {RSP_ZDLE, 202, 202, 0, 0, 0, {ACT_DLE0} }, | 198 | {RSP_ZDLE, 202, 202, 0, 0, 0, {ACT_DLE0} }, |
199 | {RSP_NODEV, 200, 249, -1, 0, 0, {ACT_FAKEDLE0} }, | 199 | {RSP_NODEV, 200, 249, -1, 0, 0, {ACT_FAKEDLE0} }, |
200 | {RSP_ERROR, 200, 249, -1, 0, 0, {ACT_FAILDLE0} }, | 200 | {RSP_ERROR, 200, 249, -1, 0, 0, {ACT_FAILDLE0} }, |
201 | {EV_TIMEOUT, 200, 249, -1, 0, 0, {ACT_FAILDLE0} }, | 201 | {EV_TIMEOUT, 200, 249, -1, 0, 0, {ACT_FAILDLE0} }, |
202 | 202 | ||
203 | /* enter dle mode */ | 203 | /* enter dle mode */ |
204 | {RSP_INIT, 0, 0, SEQ_DLE1, 251, 5, {0}, "^SDLE=1\r"}, | 204 | {RSP_INIT, 0, 0, SEQ_DLE1, 251, 5, {0}, "^SDLE=1\r"}, |
205 | {RSP_OK, 251, 251, -1, 252, -1}, | 205 | {RSP_OK, 251, 251, -1, 252, -1}, |
206 | {RSP_ZDLE, 252, 252, 1, 0, 0, {ACT_DLE1} }, | 206 | {RSP_ZDLE, 252, 252, 1, 0, 0, {ACT_DLE1} }, |
207 | {RSP_ERROR, 250, 299, -1, 0, 0, {ACT_FAILDLE1} }, | 207 | {RSP_ERROR, 250, 299, -1, 0, 0, {ACT_FAILDLE1} }, |
208 | {EV_TIMEOUT, 250, 299, -1, 0, 0, {ACT_FAILDLE1} }, | 208 | {EV_TIMEOUT, 250, 299, -1, 0, 0, {ACT_FAILDLE1} }, |
209 | 209 | ||
210 | /* incoming call */ | 210 | /* incoming call */ |
211 | {RSP_RING, -1, -1, -1, -1, -1, {ACT_RING} }, | 211 | {RSP_RING, -1, -1, -1, -1, -1, {ACT_RING} }, |
212 | 212 | ||
213 | /* get cid */ | 213 | /* get cid */ |
214 | {RSP_INIT, 0, 0, SEQ_CID, 301, 5, {0}, "^SGCI?\r"}, | 214 | {RSP_INIT, 0, 0, SEQ_CID, 301, 5, {0}, "^SGCI?\r"}, |
215 | {RSP_OK, 301, 301, -1, 302, -1}, | 215 | {RSP_OK, 301, 301, -1, 302, -1}, |
216 | {RSP_ZGCI, 302, 302, -1, 0, 0, {ACT_CID} }, | 216 | {RSP_ZGCI, 302, 302, -1, 0, 0, {ACT_CID} }, |
217 | {RSP_ERROR, 301, 349, -1, 0, 0, {ACT_FAILCID} }, | 217 | {RSP_ERROR, 301, 349, -1, 0, 0, {ACT_FAILCID} }, |
218 | {EV_TIMEOUT, 301, 349, -1, 0, 0, {ACT_FAILCID} }, | 218 | {EV_TIMEOUT, 301, 349, -1, 0, 0, {ACT_FAILCID} }, |
219 | 219 | ||
220 | /* enter cid mode */ | 220 | /* enter cid mode */ |
221 | {RSP_INIT, 0, 0, SEQ_CIDMODE, 150, 5, {0}, "^SGCI=1\r"}, | 221 | {RSP_INIT, 0, 0, SEQ_CIDMODE, 150, 5, {0}, "^SGCI=1\r"}, |
222 | {RSP_OK, 150, 150, -1, 0, 0, {ACT_CMODESET} }, | 222 | {RSP_OK, 150, 150, -1, 0, 0, {ACT_CMODESET} }, |
223 | {RSP_ERROR, 150, 150, -1, 0, 0, {ACT_FAILCMODE} }, | 223 | {RSP_ERROR, 150, 150, -1, 0, 0, {ACT_FAILCMODE} }, |
224 | {EV_TIMEOUT, 150, 150, -1, 0, 0, {ACT_FAILCMODE} }, | 224 | {EV_TIMEOUT, 150, 150, -1, 0, 0, {ACT_FAILCMODE} }, |
225 | 225 | ||
226 | /* leave cid mode */ | 226 | /* leave cid mode */ |
227 | {RSP_INIT, 0, 0, SEQ_UMMODE, 160, 5, {0}, "Z\r"}, | 227 | {RSP_INIT, 0, 0, SEQ_UMMODE, 160, 5, {0}, "Z\r"}, |
228 | {RSP_OK, 160, 160, -1, 0, 0, {ACT_UMODESET} }, | 228 | {RSP_OK, 160, 160, -1, 0, 0, {ACT_UMODESET} }, |
229 | {RSP_ERROR, 160, 160, -1, 0, 0, {ACT_FAILUMODE} }, | 229 | {RSP_ERROR, 160, 160, -1, 0, 0, {ACT_FAILUMODE} }, |
230 | {EV_TIMEOUT, 160, 160, -1, 0, 0, {ACT_FAILUMODE} }, | 230 | {EV_TIMEOUT, 160, 160, -1, 0, 0, {ACT_FAILUMODE} }, |
231 | 231 | ||
232 | /* abort getting cid */ | 232 | /* abort getting cid */ |
233 | {RSP_INIT, 0, 0, SEQ_NOCID, 0, 0, {ACT_ABORTCID} }, | 233 | {RSP_INIT, 0, 0, SEQ_NOCID, 0, 0, {ACT_ABORTCID} }, |
234 | 234 | ||
235 | /* reset */ | 235 | /* reset */ |
236 | {RSP_INIT, 0, 0, SEQ_SHUTDOWN, 504, 5, {0}, "Z\r"}, | 236 | {RSP_INIT, 0, 0, SEQ_SHUTDOWN, 504, 5, {0}, "Z\r"}, |
237 | {RSP_OK, 504, 504, -1, 0, 0, {ACT_SDOWN} }, | 237 | {RSP_OK, 504, 504, -1, 0, 0, {ACT_SDOWN} }, |
238 | {RSP_ERROR, 501, 599, -1, 0, 0, {ACT_FAILSDOWN} }, | 238 | {RSP_ERROR, 501, 599, -1, 0, 0, {ACT_FAILSDOWN} }, |
239 | {EV_TIMEOUT, 501, 599, -1, 0, 0, {ACT_FAILSDOWN} }, | 239 | {EV_TIMEOUT, 501, 599, -1, 0, 0, {ACT_FAILSDOWN} }, |
240 | {RSP_NODEV, 501, 599, -1, 0, 0, {ACT_FAKESDOWN} }, | 240 | {RSP_NODEV, 501, 599, -1, 0, 0, {ACT_FAKESDOWN} }, |
241 | 241 | ||
242 | {EV_PROC_CIDMODE, -1, -1, -1, -1, -1, {ACT_PROC_CIDMODE} }, | 242 | {EV_PROC_CIDMODE, -1, -1, -1, -1, -1, {ACT_PROC_CIDMODE} }, |
243 | {EV_IF_LOCK, -1, -1, -1, -1, -1, {ACT_IF_LOCK} }, | 243 | {EV_IF_LOCK, -1, -1, -1, -1, -1, {ACT_IF_LOCK} }, |
244 | {EV_IF_VER, -1, -1, -1, -1, -1, {ACT_IF_VER} }, | 244 | {EV_IF_VER, -1, -1, -1, -1, -1, {ACT_IF_VER} }, |
245 | {EV_START, -1, -1, -1, -1, -1, {ACT_START} }, | 245 | {EV_START, -1, -1, -1, -1, -1, {ACT_START} }, |
246 | {EV_STOP, -1, -1, -1, -1, -1, {ACT_STOP} }, | 246 | {EV_STOP, -1, -1, -1, -1, -1, {ACT_STOP} }, |
247 | {EV_SHUTDOWN, -1, -1, -1, -1, -1, {ACT_SHUTDOWN} }, | 247 | {EV_SHUTDOWN, -1, -1, -1, -1, -1, {ACT_SHUTDOWN} }, |
248 | 248 | ||
249 | /* misc. */ | 249 | /* misc. */ |
250 | {RSP_ERROR, -1, -1, -1, -1, -1, {ACT_ERROR} }, | 250 | {RSP_ERROR, -1, -1, -1, -1, -1, {ACT_ERROR} }, |
251 | {RSP_ZCAU, -1, -1, -1, -1, -1, {ACT_ZCAU} }, | 251 | {RSP_ZCAU, -1, -1, -1, -1, -1, {ACT_ZCAU} }, |
252 | {RSP_NONE, -1, -1, -1, -1, -1, {ACT_DEBUG} }, | 252 | {RSP_NONE, -1, -1, -1, -1, -1, {ACT_DEBUG} }, |
253 | {RSP_ANY, -1, -1, -1, -1, -1, {ACT_WARN} }, | 253 | {RSP_ANY, -1, -1, -1, -1, -1, {ACT_WARN} }, |
254 | {RSP_LAST} | 254 | {RSP_LAST} |
255 | }; | 255 | }; |
256 | 256 | ||
@@ -262,90 +262,90 @@ struct reply_t gigaset_tab_cid[] = | |||
262 | * action, command */ | 262 | * action, command */ |
263 | 263 | ||
264 | /* dial */ | 264 | /* dial */ |
265 | {EV_DIAL, -1, -1, -1, -1, -1, {ACT_DIAL} }, | 265 | {EV_DIAL, -1, -1, -1, -1, -1, {ACT_DIAL} }, |
266 | {RSP_INIT, 0, 0, SEQ_DIAL, 601, 5, {ACT_CMD + AT_BC} }, | 266 | {RSP_INIT, 0, 0, SEQ_DIAL, 601, 5, {ACT_CMD + AT_BC} }, |
267 | {RSP_OK, 601, 601, -1, 603, 5, {ACT_CMD + AT_PROTO} }, | 267 | {RSP_OK, 601, 601, -1, 603, 5, {ACT_CMD + AT_PROTO} }, |
268 | {RSP_OK, 603, 603, -1, 604, 5, {ACT_CMD + AT_TYPE} }, | 268 | {RSP_OK, 603, 603, -1, 604, 5, {ACT_CMD + AT_TYPE} }, |
269 | {RSP_OK, 604, 604, -1, 605, 5, {ACT_CMD + AT_MSN} }, | 269 | {RSP_OK, 604, 604, -1, 605, 5, {ACT_CMD + AT_MSN} }, |
270 | {RSP_NULL, 605, 605, -1, 606, 5, {ACT_CMD + AT_CLIP} }, | 270 | {RSP_NULL, 605, 605, -1, 606, 5, {ACT_CMD + AT_CLIP} }, |
271 | {RSP_OK, 605, 605, -1, 606, 5, {ACT_CMD + AT_CLIP} }, | 271 | {RSP_OK, 605, 605, -1, 606, 5, {ACT_CMD + AT_CLIP} }, |
272 | {RSP_NULL, 606, 606, -1, 607, 5, {ACT_CMD + AT_ISO} }, | 272 | {RSP_NULL, 606, 606, -1, 607, 5, {ACT_CMD + AT_ISO} }, |
273 | {RSP_OK, 606, 606, -1, 607, 5, {ACT_CMD + AT_ISO} }, | 273 | {RSP_OK, 606, 606, -1, 607, 5, {ACT_CMD + AT_ISO} }, |
274 | {RSP_OK, 607, 607, -1, 608, 5, {0}, "+VLS=17\r"}, | 274 | {RSP_OK, 607, 607, -1, 608, 5, {0}, "+VLS=17\r"}, |
275 | {RSP_OK, 608, 608, -1, 609, -1}, | 275 | {RSP_OK, 608, 608, -1, 609, -1}, |
276 | {RSP_ZSAU, 609, 609, ZSAU_PROCEEDING, 610, 5, {ACT_CMD + AT_DIAL} }, | 276 | {RSP_ZSAU, 609, 609, ZSAU_PROCEEDING, 610, 5, {ACT_CMD + AT_DIAL} }, |
277 | {RSP_OK, 610, 610, -1, 650, 0, {ACT_DIALING} }, | 277 | {RSP_OK, 610, 610, -1, 650, 0, {ACT_DIALING} }, |
278 | 278 | ||
279 | {RSP_ERROR, 601, 610, -1, 0, 0, {ACT_ABORTDIAL} }, | 279 | {RSP_ERROR, 601, 610, -1, 0, 0, {ACT_ABORTDIAL} }, |
280 | {EV_TIMEOUT, 601, 610, -1, 0, 0, {ACT_ABORTDIAL} }, | 280 | {EV_TIMEOUT, 601, 610, -1, 0, 0, {ACT_ABORTDIAL} }, |
281 | 281 | ||
282 | /* optional dialing responses */ | 282 | /* optional dialing responses */ |
283 | {EV_BC_OPEN, 650, 650, -1, 651, -1}, | 283 | {EV_BC_OPEN, 650, 650, -1, 651, -1}, |
284 | {RSP_ZVLS, 609, 651, 17, -1, -1, {ACT_DEBUG} }, | 284 | {RSP_ZVLS, 609, 651, 17, -1, -1, {ACT_DEBUG} }, |
285 | {RSP_ZCTP, 610, 651, -1, -1, -1, {ACT_DEBUG} }, | 285 | {RSP_ZCTP, 610, 651, -1, -1, -1, {ACT_DEBUG} }, |
286 | {RSP_ZCPN, 610, 651, -1, -1, -1, {ACT_DEBUG} }, | 286 | {RSP_ZCPN, 610, 651, -1, -1, -1, {ACT_DEBUG} }, |
287 | {RSP_ZSAU, 650, 651, ZSAU_CALL_DELIVERED, -1, -1, {ACT_DEBUG} }, | 287 | {RSP_ZSAU, 650, 651, ZSAU_CALL_DELIVERED, -1, -1, {ACT_DEBUG} }, |
288 | 288 | ||
289 | /* connect */ | 289 | /* connect */ |
290 | {RSP_ZSAU, 650, 650, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT} }, | 290 | {RSP_ZSAU, 650, 650, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT} }, |
291 | {RSP_ZSAU, 651, 651, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT, | 291 | {RSP_ZSAU, 651, 651, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT, |
292 | ACT_NOTIFY_BC_UP} }, | 292 | ACT_NOTIFY_BC_UP} }, |
293 | {RSP_ZSAU, 750, 750, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT} }, | 293 | {RSP_ZSAU, 750, 750, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT} }, |
294 | {RSP_ZSAU, 751, 751, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT, | 294 | {RSP_ZSAU, 751, 751, ZSAU_ACTIVE, 800, -1, {ACT_CONNECT, |
295 | ACT_NOTIFY_BC_UP} }, | 295 | ACT_NOTIFY_BC_UP} }, |
296 | {EV_BC_OPEN, 800, 800, -1, 800, -1, {ACT_NOTIFY_BC_UP} }, | 296 | {EV_BC_OPEN, 800, 800, -1, 800, -1, {ACT_NOTIFY_BC_UP} }, |
297 | 297 | ||
298 | /* remote hangup */ | 298 | /* remote hangup */ |
299 | {RSP_ZSAU, 650, 651, ZSAU_DISCONNECT_IND, 0, 0, {ACT_REMOTEREJECT} }, | 299 | {RSP_ZSAU, 650, 651, ZSAU_DISCONNECT_IND, 0, 0, {ACT_REMOTEREJECT} }, |
300 | {RSP_ZSAU, 750, 751, ZSAU_DISCONNECT_IND, 0, 0, {ACT_REMOTEHUP} }, | 300 | {RSP_ZSAU, 750, 751, ZSAU_DISCONNECT_IND, 0, 0, {ACT_REMOTEHUP} }, |
301 | {RSP_ZSAU, 800, 800, ZSAU_DISCONNECT_IND, 0, 0, {ACT_REMOTEHUP} }, | 301 | {RSP_ZSAU, 800, 800, ZSAU_DISCONNECT_IND, 0, 0, {ACT_REMOTEHUP} }, |
302 | 302 | ||
303 | /* hangup */ | 303 | /* hangup */ |
304 | {EV_HUP, -1, -1, -1, -1, -1, {ACT_HUP} }, | 304 | {EV_HUP, -1, -1, -1, -1, -1, {ACT_HUP} }, |
305 | {RSP_INIT, -1, -1, SEQ_HUP, 401, 5, {0}, "+VLS=0\r"}, | 305 | {RSP_INIT, -1, -1, SEQ_HUP, 401, 5, {0}, "+VLS=0\r"}, |
306 | {RSP_OK, 401, 401, -1, 402, 5}, | 306 | {RSP_OK, 401, 401, -1, 402, 5}, |
307 | {RSP_ZVLS, 402, 402, 0, 403, 5}, | 307 | {RSP_ZVLS, 402, 402, 0, 403, 5}, |
308 | {RSP_ZSAU, 403, 403, ZSAU_DISCONNECT_REQ, -1, -1, {ACT_DEBUG} }, | 308 | {RSP_ZSAU, 403, 403, ZSAU_DISCONNECT_REQ, -1, -1, {ACT_DEBUG} }, |
309 | {RSP_ZSAU, 403, 403, ZSAU_NULL, 0, 0, {ACT_DISCONNECT} }, | 309 | {RSP_ZSAU, 403, 403, ZSAU_NULL, 0, 0, {ACT_DISCONNECT} }, |
310 | {RSP_NODEV, 401, 403, -1, 0, 0, {ACT_FAKEHUP} }, | 310 | {RSP_NODEV, 401, 403, -1, 0, 0, {ACT_FAKEHUP} }, |
311 | {RSP_ERROR, 401, 401, -1, 0, 0, {ACT_ABORTHUP} }, | 311 | {RSP_ERROR, 401, 401, -1, 0, 0, {ACT_ABORTHUP} }, |
312 | {EV_TIMEOUT, 401, 403, -1, 0, 0, {ACT_ABORTHUP} }, | 312 | {EV_TIMEOUT, 401, 403, -1, 0, 0, {ACT_ABORTHUP} }, |
313 | 313 | ||
314 | {EV_BC_CLOSED, 0, 0, -1, 0, -1, {ACT_NOTIFY_BC_DOWN} }, | 314 | {EV_BC_CLOSED, 0, 0, -1, 0, -1, {ACT_NOTIFY_BC_DOWN} }, |
315 | 315 | ||
316 | /* ring */ | 316 | /* ring */ |
317 | {RSP_ZBC, 700, 700, -1, -1, -1, {0} }, | 317 | {RSP_ZBC, 700, 700, -1, -1, -1, {0} }, |
318 | {RSP_ZHLC, 700, 700, -1, -1, -1, {0} }, | 318 | {RSP_ZHLC, 700, 700, -1, -1, -1, {0} }, |
319 | {RSP_NMBR, 700, 700, -1, -1, -1, {0} }, | 319 | {RSP_NMBR, 700, 700, -1, -1, -1, {0} }, |
320 | {RSP_ZCPN, 700, 700, -1, -1, -1, {0} }, | 320 | {RSP_ZCPN, 700, 700, -1, -1, -1, {0} }, |
321 | {RSP_ZCTP, 700, 700, -1, -1, -1, {0} }, | 321 | {RSP_ZCTP, 700, 700, -1, -1, -1, {0} }, |
322 | {EV_TIMEOUT, 700, 700, -1, 720, 720, {ACT_ICALL} }, | 322 | {EV_TIMEOUT, 700, 700, -1, 720, 720, {ACT_ICALL} }, |
323 | {EV_BC_CLOSED, 720, 720, -1, 0, -1, {ACT_NOTIFY_BC_DOWN} }, | 323 | {EV_BC_CLOSED, 720, 720, -1, 0, -1, {ACT_NOTIFY_BC_DOWN} }, |
324 | 324 | ||
325 | /*accept icall*/ | 325 | /*accept icall*/ |
326 | {EV_ACCEPT, -1, -1, -1, -1, -1, {ACT_ACCEPT} }, | 326 | {EV_ACCEPT, -1, -1, -1, -1, -1, {ACT_ACCEPT} }, |
327 | {RSP_INIT, 720, 720, SEQ_ACCEPT, 721, 5, {ACT_CMD + AT_PROTO} }, | 327 | {RSP_INIT, 720, 720, SEQ_ACCEPT, 721, 5, {ACT_CMD + AT_PROTO} }, |
328 | {RSP_OK, 721, 721, -1, 722, 5, {ACT_CMD + AT_ISO} }, | 328 | {RSP_OK, 721, 721, -1, 722, 5, {ACT_CMD + AT_ISO} }, |
329 | {RSP_OK, 722, 722, -1, 723, 5, {0}, "+VLS=17\r"}, | 329 | {RSP_OK, 722, 722, -1, 723, 5, {0}, "+VLS=17\r"}, |
330 | {RSP_OK, 723, 723, -1, 724, 5, {0} }, | 330 | {RSP_OK, 723, 723, -1, 724, 5, {0} }, |
331 | {RSP_ZVLS, 724, 724, 17, 750, 50, {ACT_ACCEPTED} }, | 331 | {RSP_ZVLS, 724, 724, 17, 750, 50, {ACT_ACCEPTED} }, |
332 | {RSP_ERROR, 721, 729, -1, 0, 0, {ACT_ABORTACCEPT} }, | 332 | {RSP_ERROR, 721, 729, -1, 0, 0, {ACT_ABORTACCEPT} }, |
333 | {EV_TIMEOUT, 721, 729, -1, 0, 0, {ACT_ABORTACCEPT} }, | 333 | {EV_TIMEOUT, 721, 729, -1, 0, 0, {ACT_ABORTACCEPT} }, |
334 | {RSP_ZSAU, 700, 729, ZSAU_NULL, 0, 0, {ACT_ABORTACCEPT} }, | 334 | {RSP_ZSAU, 700, 729, ZSAU_NULL, 0, 0, {ACT_ABORTACCEPT} }, |
335 | {RSP_ZSAU, 700, 729, ZSAU_ACTIVE, 0, 0, {ACT_ABORTACCEPT} }, | 335 | {RSP_ZSAU, 700, 729, ZSAU_ACTIVE, 0, 0, {ACT_ABORTACCEPT} }, |
336 | {RSP_ZSAU, 700, 729, ZSAU_DISCONNECT_IND, 0, 0, {ACT_ABORTACCEPT} }, | 336 | {RSP_ZSAU, 700, 729, ZSAU_DISCONNECT_IND, 0, 0, {ACT_ABORTACCEPT} }, |
337 | 337 | ||
338 | {EV_BC_OPEN, 750, 750, -1, 751, -1}, | 338 | {EV_BC_OPEN, 750, 750, -1, 751, -1}, |
339 | {EV_TIMEOUT, 750, 751, -1, 0, 0, {ACT_CONNTIMEOUT} }, | 339 | {EV_TIMEOUT, 750, 751, -1, 0, 0, {ACT_CONNTIMEOUT} }, |
340 | 340 | ||
341 | /* B channel closed (general case) */ | 341 | /* B channel closed (general case) */ |
342 | {EV_BC_CLOSED, -1, -1, -1, -1, -1, {ACT_NOTIFY_BC_DOWN} }, | 342 | {EV_BC_CLOSED, -1, -1, -1, -1, -1, {ACT_NOTIFY_BC_DOWN} }, |
343 | 343 | ||
344 | /* misc. */ | 344 | /* misc. */ |
345 | {RSP_ZCON, -1, -1, -1, -1, -1, {ACT_DEBUG} }, | 345 | {RSP_ZCON, -1, -1, -1, -1, -1, {ACT_DEBUG} }, |
346 | {RSP_ZCAU, -1, -1, -1, -1, -1, {ACT_ZCAU} }, | 346 | {RSP_ZCAU, -1, -1, -1, -1, -1, {ACT_ZCAU} }, |
347 | {RSP_NONE, -1, -1, -1, -1, -1, {ACT_DEBUG} }, | 347 | {RSP_NONE, -1, -1, -1, -1, -1, {ACT_DEBUG} }, |
348 | {RSP_ANY, -1, -1, -1, -1, -1, {ACT_WARN} }, | 348 | {RSP_ANY, -1, -1, -1, -1, -1, {ACT_WARN} }, |
349 | {RSP_LAST} | 349 | {RSP_LAST} |
350 | }; | 350 | }; |
351 | 351 | ||
@@ -649,9 +649,9 @@ static void disconnect(struct at_state_t **at_state_p) | |||
649 | static inline struct at_state_t *get_free_channel(struct cardstate *cs, | 649 | static inline struct at_state_t *get_free_channel(struct cardstate *cs, |
650 | int cid) | 650 | int cid) |
651 | /* cids: >0: siemens-cid | 651 | /* cids: >0: siemens-cid |
652 | 0: without cid | 652 | * 0: without cid |
653 | -1: no cid assigned yet | 653 | * -1: no cid assigned yet |
654 | */ | 654 | */ |
655 | { | 655 | { |
656 | unsigned long flags; | 656 | unsigned long flags; |
657 | int i; | 657 | int i; |
@@ -1374,7 +1374,8 @@ static void do_action(int action, struct cardstate *cs, | |||
1374 | ev->parameter, at_state->ConState); | 1374 | ev->parameter, at_state->ConState); |
1375 | break; | 1375 | break; |
1376 | 1376 | ||
1377 | /* events from the LL */ | 1377 | /* events from the LL */ |
1378 | |||
1378 | case ACT_DIAL: | 1379 | case ACT_DIAL: |
1379 | start_dial(at_state, ev->ptr, ev->parameter); | 1380 | start_dial(at_state, ev->ptr, ev->parameter); |
1380 | break; | 1381 | break; |
@@ -1387,7 +1388,8 @@ static void do_action(int action, struct cardstate *cs, | |||
1387 | cs->commands_pending = 1; | 1388 | cs->commands_pending = 1; |
1388 | break; | 1389 | break; |
1389 | 1390 | ||
1390 | /* hotplug events */ | 1391 | /* hotplug events */ |
1392 | |||
1391 | case ACT_STOP: | 1393 | case ACT_STOP: |
1392 | do_stop(cs); | 1394 | do_stop(cs); |
1393 | break; | 1395 | break; |
@@ -1395,7 +1397,8 @@ static void do_action(int action, struct cardstate *cs, | |||
1395 | do_start(cs); | 1397 | do_start(cs); |
1396 | break; | 1398 | break; |
1397 | 1399 | ||
1398 | /* events from the interface */ | 1400 | /* events from the interface */ |
1401 | |||
1399 | case ACT_IF_LOCK: | 1402 | case ACT_IF_LOCK: |
1400 | cs->cmd_result = ev->parameter ? do_lock(cs) : do_unlock(cs); | 1403 | cs->cmd_result = ev->parameter ? do_lock(cs) : do_unlock(cs); |
1401 | cs->waiting = 0; | 1404 | cs->waiting = 0; |
@@ -1414,7 +1417,8 @@ static void do_action(int action, struct cardstate *cs, | |||
1414 | wake_up(&cs->waitqueue); | 1417 | wake_up(&cs->waitqueue); |
1415 | break; | 1418 | break; |
1416 | 1419 | ||
1417 | /* events from the proc file system */ | 1420 | /* events from the proc file system */ |
1421 | |||
1418 | case ACT_PROC_CIDMODE: | 1422 | case ACT_PROC_CIDMODE: |
1419 | spin_lock_irqsave(&cs->lock, flags); | 1423 | spin_lock_irqsave(&cs->lock, flags); |
1420 | if (ev->parameter != cs->cidmode) { | 1424 | if (ev->parameter != cs->cidmode) { |
@@ -1433,7 +1437,8 @@ static void do_action(int action, struct cardstate *cs, | |||
1433 | wake_up(&cs->waitqueue); | 1437 | wake_up(&cs->waitqueue); |
1434 | break; | 1438 | break; |
1435 | 1439 | ||
1436 | /* events from the hardware drivers */ | 1440 | /* events from the hardware drivers */ |
1441 | |||
1437 | case ACT_NOTIFY_BC_DOWN: | 1442 | case ACT_NOTIFY_BC_DOWN: |
1438 | bchannel_down(bcs); | 1443 | bchannel_down(bcs); |
1439 | break; | 1444 | break; |