Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7792e34 authored by andrew hendry's avatar andrew hendry Committed by David S. Miller
Browse files

X25: Move interrupt flag to bitfield



Moves the x25 interrupt flag from char into bitfield.

Signed-off-by: default avatarAndrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cb863ffd
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -115,6 +115,7 @@ enum {


/* Bitset in x25_sock->flags for misc flags */
/* Bitset in x25_sock->flags for misc flags */
#define X25_Q_BIT_FLAG		0
#define X25_Q_BIT_FLAG		0
#define X25_INTERRUPT_FLAG	1


/**
/**
 *	struct x25_route - x25 routing entry
 *	struct x25_route - x25 routing entry
@@ -149,7 +150,7 @@ struct x25_sock {
	struct x25_address	source_addr, dest_addr;
	struct x25_address	source_addr, dest_addr;
	struct x25_neigh	*neighbour;
	struct x25_neigh	*neighbour;
	unsigned int		lci, cudmatchlength;
	unsigned int		lci, cudmatchlength;
	unsigned char		state, condition, intflag, accptapprv;
	unsigned char		state, condition, accptapprv;
	unsigned short		vs, vr, va, vl;
	unsigned short		vs, vr, va, vl;
	unsigned long		t2, t21, t22, t23;
	unsigned long		t2, t21, t22, t23;
	unsigned short		fraglen;
	unsigned short		fraglen;
+1 −0
Original line number Original line Diff line number Diff line
@@ -641,6 +641,7 @@ static struct sock *x25_make_new(struct sock *osk)
	x25->cudmatchlength = ox25->cudmatchlength;
	x25->cudmatchlength = ox25->cudmatchlength;
	x25->accptapprv = ox25->accptapprv;
	x25->accptapprv = ox25->accptapprv;


	clear_bit(X25_INTERRUPT_FLAG, &x25->flags);
	x25_init_timers(sk);
	x25_init_timers(sk);
out:
out:
	return sk;
	return sk;
+1 −1
Original line number Original line Diff line number Diff line
@@ -273,7 +273,7 @@ static int x25_state3_machine(struct sock *sk, struct sk_buff *skb, int frametyp
			break;
			break;


		case X25_INTERRUPT_CONFIRMATION:
		case X25_INTERRUPT_CONFIRMATION:
			x25->intflag = 0;
			clear_bit(X25_INTERRUPT_FLAG, &x25->flags);
			break;
			break;


		case X25_INTERRUPT:
		case X25_INTERRUPT:
+3 −2
Original line number Original line Diff line number Diff line
@@ -148,8 +148,9 @@ void x25_kick(struct sock *sk)
	/*
	/*
	 *	Transmit interrupt data.
	 *	Transmit interrupt data.
	 */
	 */
	if (!x25->intflag && skb_peek(&x25->interrupt_out_queue) != NULL) {
	if (skb_peek(&x25->interrupt_out_queue) != NULL &&
		x25->intflag = 1;
		!test_and_set_bit(X25_INTERRUPT_FLAG, &x25->flags)) {

		skb = skb_dequeue(&x25->interrupt_out_queue);
		skb = skb_dequeue(&x25->interrupt_out_queue);
		x25_transmit_link(skb, x25->neighbour);
		x25_transmit_link(skb, x25->neighbour);
	}
	}