mirror of https://gerrit.osmocom.org/libosmocore
gprs-ns: Let gprs_nsvc_reset return a value
Currently gprs_nsvc_reset does not return any value. This patch changes the function to return an integer, where a value less than zero indicates an error. The value is taken from the gprs_ns_tx_reset function. In case of failure, an error message is logged. Sponsored-by: On-Waves ehf
This commit is contained in:
parent
cdb85f58c5
commit
0540d839ac
|
@ -172,7 +172,7 @@ struct gprs_nsvc *gprs_nsvc_by_nsei(struct gprs_ns_inst *nsi, uint16_t nsei);
|
||||||
struct gprs_nsvc *gprs_nsvc_by_nsvci(struct gprs_ns_inst *nsi, uint16_t nsvci);
|
struct gprs_nsvc *gprs_nsvc_by_nsvci(struct gprs_ns_inst *nsi, uint16_t nsvci);
|
||||||
|
|
||||||
/* Initiate a RESET procedure (including timer start, ...)*/
|
/* Initiate a RESET procedure (including timer start, ...)*/
|
||||||
void gprs_nsvc_reset(struct gprs_nsvc *nsvc, uint8_t cause);
|
int gprs_nsvc_reset(struct gprs_nsvc *nsvc, uint8_t cause);
|
||||||
|
|
||||||
/* Add NS-specific VTY stuff */
|
/* Add NS-specific VTY stuff */
|
||||||
int gprs_ns_vty_init(struct gprs_ns_inst *nsi);
|
int gprs_ns_vty_init(struct gprs_ns_inst *nsi);
|
||||||
|
|
|
@ -1495,20 +1495,25 @@ int gprs_ns_nsip_listen(struct gprs_ns_inst *nsi)
|
||||||
* will not only send a NS-RESET, but also set the state to BLOCKED and
|
* will not only send a NS-RESET, but also set the state to BLOCKED and
|
||||||
* start the Tns-reset timer.
|
* start the Tns-reset timer.
|
||||||
*/
|
*/
|
||||||
void gprs_nsvc_reset(struct gprs_nsvc *nsvc, uint8_t cause)
|
int gprs_nsvc_reset(struct gprs_nsvc *nsvc, uint8_t cause)
|
||||||
{
|
{
|
||||||
|
int rc;
|
||||||
|
|
||||||
LOGP(DNS, LOGL_INFO, "NSEI=%u RESET procedure based on API request\n",
|
LOGP(DNS, LOGL_INFO, "NSEI=%u RESET procedure based on API request\n",
|
||||||
nsvc->nsei);
|
nsvc->nsei);
|
||||||
|
|
||||||
/* Mark NS-VC locally as blocked and dead */
|
/* Mark NS-VC locally as blocked and dead */
|
||||||
nsvc->state = NSE_S_BLOCKED;
|
nsvc->state = NSE_S_BLOCKED;
|
||||||
/* Send NS-RESET PDU */
|
/* Send NS-RESET PDU */
|
||||||
if (gprs_ns_tx_reset(nsvc, cause) < 0) {
|
rc = gprs_ns_tx_reset(nsvc, cause);
|
||||||
|
if (rc < 0) {
|
||||||
LOGP(DNS, LOGL_ERROR, "NSEI=%u, error resetting NS-VC\n",
|
LOGP(DNS, LOGL_ERROR, "NSEI=%u, error resetting NS-VC\n",
|
||||||
nsvc->nsei);
|
nsvc->nsei);
|
||||||
}
|
}
|
||||||
/* Start Tns-reset */
|
/* Start Tns-reset */
|
||||||
nsvc_start_timer(nsvc, NSVC_TIMER_TNS_RESET);
|
nsvc_start_timer(nsvc, NSVC_TIMER_TNS_RESET);
|
||||||
|
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Establish a NS connection (from the BSS) to the SGSN
|
/*! \brief Establish a NS connection (from the BSS) to the SGSN
|
||||||
|
|
Loading…
Reference in New Issue