diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-06-20 20:10:46 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2014-01-21 15:54:34 +0100 |
commit | bab6c249ac17fd113127432436877e48ca22de5f (patch) | |
tree | b0b113b0f3308d875459148199b484aa0b9af0c2 | |
parent | cfce0e592477fdb4a1a5d98a1d7f2edd79f2501f (diff) |
TRX: If no cipher algorithm is given, or if it is a5/0, reset cipher state
-rw-r--r-- | src/osmo-bts-trx/scheduler.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/osmo-bts-trx/scheduler.c b/src/osmo-bts-trx/scheduler.c index 9aa05390..5a22c5c3 100644 --- a/src/osmo-bts-trx/scheduler.c +++ b/src/osmo-bts-trx/scheduler.c @@ -2573,7 +2573,10 @@ int trx_sched_set_cipher(struct trx_l1h *l1h, uint8_t chan_nr, int downlink, int rc = -EINVAL; struct trx_chan_state *chan_state; - if (algo < 0 || key_len > 8 || (algo && key_len != 8)) { + /* no algorithm given means a5/0 */ + if (algo <= 0) + algo = 0; + else if (key_len != 8) { LOGP(DL1C, LOGL_ERROR, "Algo A5/%d not supported with given " "key len=%d\n", algo, key_len); return -ENOTSUP; |