Skip to contentSkip to conversation

s390 test6 patches: descriptions.

DISCUSSION Pete Zaitcev 1 participant 3 messages Oct 6, 2003 1 message not in the archive

Subsystems (4)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

Martin,

the default target seems to be broken. The old way ("make image modules") works fine. Not that I care too much, but I got some grief in sparc about it. FYI.

itcev@niphredil linux-2.6.0-test6-s390]$ make CROSS_COMPILE=/q/cross/bin/s390-ibm-linux-gnu- ARCH=s390
..............
OBJCOPY arch/s390/boot/image
make[1]: *** No rule to make target `arch/s390/boot/listing'. Stop.

-- Pete

#2 lore raw
In reply to a message not in the archive
Quoted 1 line

more patches for s390. 7 this time, one is big and another one is VERY big.

This is all fine, but the removal of dst_link_failure is missing. Why is that? We agreed about it several update cycles before. I am not doing because I'm bored, we hit actual oopses (ok, on 2.4).

-- Pete

drivers/s390/net/ctcmain.c +1 -3
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/net/ctcmain.c linux-2.6.0-test6-s390/drivers/s390/net/ctcmain.c
@@ -2441,14 +2441,12 @@
 
 	/**
 	 * If channels are not running, try to restart them
-	 * notify anybody about a link failure and throw
-	 * away packet. 
+	 * and throw away packet. 
 	 */
 	if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) {
 		fsm_event(privptr->fsm, DEV_EVENT_START, dev);
 		if (privptr->protocol == CTC_PROTO_LINUX_TTY)
 			return -EBUSY;
-		dst_link_failure(skb);
 		dev_kfree_skb(skb);
 		privptr->stats.tx_dropped++;
 		privptr->stats.tx_errors++;
drivers/s390/net/netiucv.c +1 -3
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/net/netiucv.c linux-2.6.0-test6-s390/drivers/s390/net/netiucv.c
@@ -1177,12 +1177,10 @@
 
 	/**
 	 * If connection is not running, try to restart it
-	 * notify anybody about a link failure and throw
-	 * away packet. 
+	 * and throw away packet. 
 	 */
 	if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) {
 		fsm_event(privptr->fsm, DEV_EVENT_START, dev);
-		dst_link_failure(skb);
 		dev_kfree_skb(skb);
 		privptr->stats.tx_dropped++;
 		privptr->stats.tx_errors++;
drivers/s390/net/qeth.c +0 -3
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/net/qeth.c linux-2.6.0-test6-s390/drivers/s390/net/qeth.c
@@ -1996,7 +1996,6 @@
 			case ERROR_LINK_FAILURE:
 			case ERROR_KICK_THAT_PUPPY:
 				QETH_DBF_TEXT4(0, trace, "endeglnd");
-				dst_link_failure(skb);
 				atomic_dec(&skb->users);
 				dev_kfree_skb_irq(skb);
 				break;
@@ -2489,7 +2488,6 @@
 
 	if (!card) {
 		QETH_DBF_TEXT2(0, trace, "XMNSNOCD");
-		dst_link_failure(skb);
 		dev_kfree_skb_irq(skb);
 		return 0;
 	}
@@ -2501,7 +2499,6 @@
 		card->stats->tx_carrier_errors++;
 		QETH_DBF_TEXT2(0, trace, "XMNS");
 		QETH_DBF_TEXT2(0, trace, card->rdev->dev.bus_id);
-		dst_link_failure(skb);
 		dev_kfree_skb_irq(skb);
 		return 0;
 	}
#3 lore raw
In reply to a message not in the archive

My unified sysrq patch is missing.

Also, why is the tub driver not being updated? This is an issue because passwords are visible on 3215 and there is NO WAY around it, except TERM CONMODE 3270 and then using tub. I seem to remember promises about New Super-Duper Improved and Clean tub, but it's nowhere to be seen, so meanwhile it should not be too hard to keep old tub operating. You don't even have to do anything. Just use your maintainer powers to refuse "cleaups" like the devstat removal unless they fix all in-tree drivers for related breakage. Then contributors will have to fix it.

-- Pete

arch/s390/kernel/s390_ksyms.c +2 -0
diff -urN -X dontdiff linux-2.6.0-test6/arch/s390/kernel/s390_ksyms.c linux-2.6.0-test6-s390/arch/s390/kernel/s390_ksyms.c
@@ -13,6 +13,7 @@
 #include <asm/delay.h>
 #include <asm/pgalloc.h>
 #include <asm/setup.h>
+#include <asm/ctrlchar.h>
 #ifdef CONFIG_IP_MULTICAST
 #include <net/arp.h>
 #endif
@@ -72,3 +73,4 @@
 EXPORT_SYMBOL(console_device);
 EXPORT_SYMBOL_NOVERS(do_call_softirq);
 EXPORT_SYMBOL(sys_wait4);
+EXPORT_SYMBOL(ctrlchar_handle);
drivers/s390/char/con3215.c +2 -3
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/char/con3215.c linux-2.6.0-test6-s390/drivers/s390/char/con3215.c
@@ -32,8 +32,7 @@
 #include <asm/delay.h>
 #include <asm/cpcmd.h>
 #include <asm/setup.h>
-
-#include "ctrlchar.h"
+#include <asm/ctrlchar.h>
 
 #define NR_3215		    1
 #define NR_3215_REQ	    (4*NR_3215)
@@ -437,7 +436,7 @@
 			if (count >= TTY_FLIPBUF_SIZE - tty->flip.count)
 				count = TTY_FLIPBUF_SIZE - tty->flip.count - 1;
 			EBCASC(raw->inbuf, count);
-			cchar = ctrlchar_handle(raw->inbuf, count, tty);
+			cchar = ctrlchar_handle(raw->inbuf, count, tty, 1);
 			switch (cchar & CTRLCHAR_MASK) {
 			case CTRLCHAR_SYSRQ:
 				break;
drivers/s390/char/ctrlchar.c +7 -3
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/char/ctrlchar.c linux-2.6.0-test6-s390/drivers/s390/char/ctrlchar.c
@@ -13,9 +13,12 @@
 #include <linux/sysrq.h>
 #include <linux/ctype.h>
 
-#include "ctrlchar.h"
+#include <asm/ctrlchar.h>
 
 #ifdef CONFIG_MAGIC_SYSRQ
+#include <linux/workqueue.h>
+#include <linux/tty.h>
+
 static int ctrlchar_sysrq_key;
 
 static void
@@ -40,7 +43,8 @@
  *         with CTRLCHAR_CTRL
  */
 unsigned int
-ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty)
+ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty,
+    int is_console)
 {
 	if ((len < 2) || (len > 3))
 		return CTRLCHAR_NONE;
@@ -52,7 +56,7 @@
 
 #ifdef CONFIG_MAGIC_SYSRQ
 	/* racy */
-	if (len == 3 && buf[1] == '-') {
+	if (is_console && len == 3 && buf[1] == '-') {
 		ctrlchar_sysrq_key = buf[2];
 		ctrlchar_work.data = tty;
 		schedule_work(&ctrlchar_work);
drivers/s390/char/ctrlchar.h +0 -20
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/char/ctrlchar.h linux-2.6.0-test6-s390/drivers/s390/char/ctrlchar.h
@@ -1,20 +0,0 @@
-/*
- *  drivers/s390/char/ctrlchar.c
- *  Unified handling of special chars.
- *
- *    Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
- *    Author(s): Fritz Elfert <[email protected]> <[email protected]>
- *
- */
-
-#include <linux/tty.h>
-
-extern unsigned int
-ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty);
-
-
-#define CTRLCHAR_NONE  (1 << 8)
-#define CTRLCHAR_CTRL  (2 << 8)
-#define CTRLCHAR_SYSRQ (3 << 8)
-
-#define CTRLCHAR_MASK (~0xffu)
drivers/s390/char/sclp_tty.c +2 -2
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/char/sclp_tty.c linux-2.6.0-test6-s390/drivers/s390/char/sclp_tty.c
@@ -19,8 +19,8 @@
 #include <linux/err.h>
 #include <linux/init.h>
 #include <asm/uaccess.h>
+#include <asm/ctrlchar.h>
 
-#include "ctrlchar.h"
 #include "sclp.h"
 #include "sclp_rw.h"
 #include "sclp_tty.h"
@@ -483,7 +483,7 @@
 	 */
 	if (sclp_tty == NULL)
 		return;
-	cchar = ctrlchar_handle(buf, count, sclp_tty);
+	cchar = ctrlchar_handle(buf, count, sclp_tty, 1);
 	switch (cchar & CTRLCHAR_MASK) {
 	case CTRLCHAR_SYSRQ:
 		break;
drivers/s390/char/tubtty.c +12 -12
diff -urN -X dontdiff linux-2.6.0-test6/drivers/s390/char/tubtty.c linux-2.6.0-test6-s390/drivers/s390/char/tubtty.c
@@ -10,6 +10,7 @@
  *  Author:  Richard Hitt
  */
 #include <linux/config.h>
+#include <asm/ctrlchar.h>
 #include "tubio.h"
 
 /* Initialization & uninitialization for tubtty */
@@ -812,23 +813,22 @@
 {
 	struct tty_struct *tty;
 	int func = -1;
+	int is_console = 0;
+	unsigned int cchar;
 
 	if ((tty = tubp->tty) == NULL)
 		return;
 	if (count < 0)
 		return;
-	if (count == 2 && (cp[0] == '^' || cp[0] == '\252')) {
-		switch(cp[1]) {
-		case 'c':  case 'C':
-			func = INTR_CHAR(tty);
-			break;
-		case 'd':  case 'D':
-			func = EOF_CHAR(tty);
-			break;
-		case 'z':  case 'Z':
-			func = SUSP_CHAR(tty);
-			break;
-		}
+#ifdef CONFIG_TN3270_CONSOLE
+	if (CONSOLE_IS_3270 && tub3270_con_tubp == tubp)
+		is_console = 1;
+#endif
+	cchar = ctrlchar_handle(cp, count, tty, is_console);
+	if ((cchar & CTRLCHAR_MASK) != CTRLCHAR_NONE) {
+		if ((cchar & CTRLCHAR_MASK) != CTRLCHAR_CTRL)
+			return;
+		func = cchar & 0xFF;
 	} else if (count == 2 && cp[0] == 0x1b) {        /* if ESC */
 		int inc = 0;
 		char buf[GEOM_INPLEN + 1];
include/asm-s390/ctrlchar.h +20 -0
diff -urN -X dontdiff linux-2.6.0-test6/include/asm-s390/ctrlchar.h linux-2.6.0-test6-s390/include/asm-s390/ctrlchar.h
@@ -0,0 +1,20 @@
+/*
+ *  Implemented in drivers/s390/char/ctrlchar.c
+ *  Unified handling of special chars.
+ *
+ *    Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *    Author(s): Fritz Elfert <[email protected]> <[email protected]>
+ *
+ */
+
+struct tty_struct;
+
+extern unsigned int ctrlchar_handle(const unsigned char *buf, int len,
+    struct tty_struct *tty, int is_console);
+extern void ctrlchar_init(void);
+
+#define CTRLCHAR_CTRL  (0 << 8)
+#define CTRLCHAR_NONE  (1 << 8)
+#define CTRLCHAR_SYSRQ (2 << 8)
+
+#define CTRLCHAR_MASK (~0xffu)