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

Commit 4c7ae6ea authored by Frank Pavlic's avatar Frank Pavlic Committed by Jeff Garzik
Browse files

[PATCH] s390: minor s390 network driver fixes



Hi Jeff,
this is a RESEND of the nine s390 network driver patches.
I finally found  that my kmail corrupted almost every patch
I sent the last time. Please apply these 9 patches and forget
about my first attempt! Sorry for the delay, I had some fights
with sendmail, IMAP and mutt configuration.

Frank

[RESEND PATCH 1/9] s390: minor s390 network driver fixes

From: Frank Pavlic <fpavlic@de.ibm.com>
	- iucv driver:
          use do { } while (0) constructs
	  instead of empty defines to avoid compile bugs.
        - ctc driver:
          missing lock initialization added
        - lcs driver:
          BUG_ON usage was removed accidently
	  with the last lcs patch.
          Put them back in place.

Signed-off-by: default avatarFrank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 71d28725
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1714,6 +1714,9 @@ add_channel(struct ccw_device *cdev, enum channel_types type)
		kfree(ch);
		return 0;
	}

	spin_lock_init(&ch->collect_lock);

	fsm_settimer(ch->fsm, &ch->timer);
	skb_queue_head_init(&ch->io_queue);
	skb_queue_head_init(&ch->collect_queue);
+2 −2
Original line number Diff line number Diff line
@@ -335,8 +335,8 @@ do { \

#else

#define iucv_debug(lvl, fmt, args...)
#define iucv_dumpit(title, buf, len)
#define iucv_debug(lvl, fmt, args...)	do { } while (0)
#define iucv_dumpit(title, buf, len)	do { } while (0)

#endif

+5 −8
Original line number Diff line number Diff line
@@ -670,9 +670,8 @@ lcs_ready_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
	int index, rc;

	LCS_DBF_TEXT(5, trace, "rdybuff");
	if (buffer->state != BUF_STATE_LOCKED &&
	    buffer->state != BUF_STATE_PROCESSED)
		BUG();
	BUG_ON(buffer->state != BUF_STATE_LOCKED &&
	       buffer->state != BUF_STATE_PROCESSED);
	spin_lock_irqsave(get_ccwdev_lock(channel->ccwdev), flags);
	buffer->state = BUF_STATE_READY;
	index = buffer - channel->iob;
@@ -696,8 +695,7 @@ __lcs_processed_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
	int index, prev, next;

	LCS_DBF_TEXT(5, trace, "prcsbuff");
	if (buffer->state != BUF_STATE_READY)
		BUG();
	BUG_ON(buffer->state != BUF_STATE_READY);
	buffer->state = BUF_STATE_PROCESSED;
	index = buffer - channel->iob;
	prev = (index - 1) & (LCS_NUM_BUFFS - 1);
@@ -729,9 +727,8 @@ lcs_release_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
	unsigned long flags;

	LCS_DBF_TEXT(5, trace, "relbuff");
	if (buffer->state != BUF_STATE_LOCKED &&
	    buffer->state != BUF_STATE_PROCESSED)
		BUG();
	BUG_ON(buffer->state != BUF_STATE_LOCKED &&
	       buffer->state != BUF_STATE_PROCESSED);
	spin_lock_irqsave(get_ccwdev_lock(channel->ccwdev), flags);
	buffer->state = BUF_STATE_EMPTY;
	spin_unlock_irqrestore(get_ccwdev_lock(channel->ccwdev), flags);