bts: Remove global state from write_packet_uplink_assignment
diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp
index 419470b..7ab187f 100644
--- a/src/gprs_rlcmac.cpp
+++ b/src/gprs_rlcmac.cpp
@@ -587,13 +587,14 @@
 }
 
 /* generate uplink assignment */
-void write_packet_uplink_assignment(bitvec * dest, uint8_t old_tfi,
+void write_packet_uplink_assignment(
+	struct gprs_rlcmac_bts *bts,
+	bitvec * dest, uint8_t old_tfi,
 	uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli,
 	struct gprs_rlcmac_tbf *tbf, uint8_t poll, uint8_t alpha,
 	uint8_t gamma, int8_t ta_idx)
 {
 	// TODO We should use our implementation of encode RLC/MAC Control messages.
-	struct gprs_rlcmac_bts *bts = gprs_rlcmac_bts;
 	unsigned wp = 0;
 	uint8_t ts;
 
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index a26127b..7a24622 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -168,7 +168,9 @@
 	uint32_t fn, uint8_t single_block, uint8_t alpha, uint8_t gamma,
 	int8_t ta_idx);
 
-void write_packet_uplink_assignment(bitvec * dest, uint8_t old_tfi,
+void write_packet_uplink_assignment(
+	struct gprs_rlcmac_bts *bts,
+	bitvec * dest, uint8_t old_tfi,
 	uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, 
 	struct gprs_rlcmac_tbf *tbf, uint8_t poll, uint8_t alpha,
 	uint8_t gamma, int8_t ta_idx);
diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp
index af320c7..f72ea40 100644
--- a/src/gprs_rlcmac_data.cpp
+++ b/src/gprs_rlcmac_data.cpp
@@ -1000,7 +1000,7 @@
 	}
 	bitvec_unhex(ass_vec,
 		"2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
-	write_packet_uplink_assignment(ass_vec, tbf->tfi,
+	write_packet_uplink_assignment(bts, ass_vec, tbf->tfi,
 		(tbf->direction == GPRS_RLCMAC_DL_TBF), tbf->tlli,
 		tbf->tlli_valid, new_tbf, POLLING_ASSIGNMENT_UL, bts->alpha,
 		bts->gamma, -1);