diff options
Diffstat (limited to 'src/gb')
| -rw-r--r-- | src/gb/gprs_bssgp_vty.c | 10 | ||||
| -rw-r--r-- | src/gb/gprs_ns_vty.c | 10 | 
2 files changed, 16 insertions, 4 deletions
| diff --git a/src/gb/gprs_bssgp_vty.c b/src/gb/gprs_bssgp_vty.c index 3af6517f..5dab94e7 100644 --- a/src/gb/gprs_bssgp_vty.c +++ b/src/gb/gprs_bssgp_vty.c @@ -181,21 +181,27 @@ DEFUN(logging_fltr_bvc,  	"BVCI of the BVC to be filtered\n"  	"BSSGP Virtual Connection Identifier (BVCI)\n")  { -	struct log_target *tgt = osmo_log_vty2tgt(vty); +	struct log_target *tgt;  	struct bssgp_bvc_ctx *bvc;  	uint16_t nsei = atoi(argv[0]);  	uint16_t bvci = atoi(argv[1]); -	if (!tgt) +	log_tgt_mutex_lock(); +	tgt = osmo_log_vty2tgt(vty); +	if (!tgt) { +		log_tgt_mutex_unlock();  		return CMD_WARNING; +	}  	bvc = btsctx_by_bvci_nsei(bvci, nsei);  	if (!bvc) {  		vty_out(vty, "No BVC by that identifier%s", VTY_NEWLINE); +		log_tgt_mutex_unlock();  		return CMD_WARNING;  	}  	log_set_bvc_filter(tgt, bvc); +	log_tgt_mutex_unlock();  	return CMD_SUCCESS;  } diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 53c71a9a..4a904368 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -587,12 +587,16 @@ DEFUN(logging_fltr_nsvc,  	"Identify NS-VC by NSVCI\n"  	"Numeric identifier\n")  { -	struct log_target *tgt = osmo_log_vty2tgt(vty); +	struct log_target *tgt;  	struct gprs_nsvc *nsvc;  	uint16_t id = atoi(argv[1]); -	if (!tgt) +	log_tgt_mutex_lock(); +	tgt = osmo_log_vty2tgt(vty); +	if (!tgt) { +		log_tgt_mutex_unlock();  		return CMD_WARNING; +	}  	if (!strcmp(argv[0], "nsei"))  		nsvc = gprs_nsvc_by_nsei(vty_nsi, id); @@ -601,10 +605,12 @@ DEFUN(logging_fltr_nsvc,  	if (!nsvc) {  		vty_out(vty, "No NS-VC by that identifier%s", VTY_NEWLINE); +		log_tgt_mutex_unlock();  		return CMD_WARNING;  	}  	log_set_nsvc_filter(tgt, nsvc); +	log_tgt_mutex_unlock();  	return CMD_SUCCESS;  } | 
