diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-21 11:52:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-21 11:52:18 -0500 |
commit | b05005772f34497eb2b7415a651fe785cbe70e16 (patch) | |
tree | b176aeb7fa9baf69e77ddd83e844727490bfcf28 /drivers/s390/net | |
parent | 044f324f6ea5d55391db62fca6a295b2651cb946 (diff) | |
parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) |
Merge branch 'origin'
Conflicts:
Documentation/video4linux/CARDLIST.cx88
drivers/media/video/cx88/Kconfig
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/saa7134/saa7134-dvb.c
Resolved as in the original merge by Mauro Carvalho Chehab
Diffstat (limited to 'drivers/s390/net')
-rw-r--r-- | drivers/s390/net/claw.c | 11 | ||||
-rw-r--r-- | drivers/s390/net/claw.h | 2 | ||||
-rw-r--r-- | drivers/s390/net/ctcdbug.c | 5 | ||||
-rw-r--r-- | drivers/s390/net/ctcdbug.h | 4 | ||||
-rw-r--r-- | drivers/s390/net/ctcmain.c | 19 | ||||
-rw-r--r-- | drivers/s390/net/ctcmain.h | 4 | ||||
-rw-r--r-- | drivers/s390/net/ctctty.c | 2 | ||||
-rw-r--r-- | drivers/s390/net/ctctty.h | 2 | ||||
-rw-r--r-- | drivers/s390/net/cu3088.c | 2 | ||||
-rw-r--r-- | drivers/s390/net/fsm.c | 2 | ||||
-rw-r--r-- | drivers/s390/net/fsm.h | 2 | ||||
-rw-r--r-- | drivers/s390/net/iucv.c | 16 | ||||
-rw-r--r-- | drivers/s390/net/lcs.c | 36 | ||||
-rw-r--r-- | drivers/s390/net/lcs.h | 4 | ||||
-rw-r--r-- | drivers/s390/net/netiucv.c | 15 | ||||
-rw-r--r-- | drivers/s390/net/qeth.h | 114 | ||||
-rw-r--r-- | drivers/s390/net/qeth_eddp.c | 16 | ||||
-rw-r--r-- | drivers/s390/net/qeth_eddp.h | 6 | ||||
-rw-r--r-- | drivers/s390/net/qeth_fs.h | 5 | ||||
-rw-r--r-- | drivers/s390/net/qeth_main.c | 30 | ||||
-rw-r--r-- | drivers/s390/net/qeth_mpc.c | 2 | ||||
-rw-r--r-- | drivers/s390/net/qeth_mpc.h | 4 | ||||
-rw-r--r-- | drivers/s390/net/qeth_proc.c | 4 | ||||
-rw-r--r-- | drivers/s390/net/qeth_sys.c | 4 | ||||
-rw-r--r-- | drivers/s390/net/qeth_tso.h | 4 | ||||
-rw-r--r-- | drivers/s390/net/smsgiucv.c | 2 |
26 files changed, 99 insertions, 218 deletions
diff --git a/drivers/s390/net/claw.c b/drivers/s390/net/claw.c index e70af7f39946..a86436a7a606 100644 --- a/drivers/s390/net/claw.c +++ b/drivers/s390/net/claw.c | |||
@@ -2,8 +2,6 @@ | |||
2 | * drivers/s390/net/claw.c | 2 | * drivers/s390/net/claw.c |
3 | * ESCON CLAW network driver | 3 | * ESCON CLAW network driver |
4 | * | 4 | * |
5 | * $Revision: 1.38 $ $Date: 2005/08/29 09:47:04 $ | ||
6 | * | ||
7 | * Linux for zSeries version | 5 | * Linux for zSeries version |
8 | * Copyright (C) 2002,2005 IBM Corporation | 6 | * Copyright (C) 2002,2005 IBM Corporation |
9 | * Author(s) Original code written by: | 7 | * Author(s) Original code written by: |
@@ -4391,14 +4389,7 @@ static int __init | |||
4391 | claw_init(void) | 4389 | claw_init(void) |
4392 | { | 4390 | { |
4393 | int ret = 0; | 4391 | int ret = 0; |
4394 | printk(KERN_INFO "claw: starting driver " | 4392 | printk(KERN_INFO "claw: starting driver\n"); |
4395 | #ifdef MODULE | ||
4396 | "module " | ||
4397 | #else | ||
4398 | "compiled into kernel " | ||
4399 | #endif | ||
4400 | " $Revision: 1.38 $ $Date: 2005/08/29 09:47:04 $ \n"); | ||
4401 | |||
4402 | 4393 | ||
4403 | #ifdef FUNCTRACE | 4394 | #ifdef FUNCTRACE |
4404 | printk(KERN_INFO "claw: %s() enter \n",__FUNCTION__); | 4395 | printk(KERN_INFO "claw: %s() enter \n",__FUNCTION__); |
diff --git a/drivers/s390/net/claw.h b/drivers/s390/net/claw.h index 3df71970f601..969be465309c 100644 --- a/drivers/s390/net/claw.h +++ b/drivers/s390/net/claw.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * Define constants * | 2 | * Define constants * |
3 | * * | 3 | * * |
4 | ********************************************************/ | 4 | ********************************************************/ |
5 | #define VERSION_CLAW_H "$Revision: 1.6 $" | 5 | |
6 | /*-----------------------------------------------------* | 6 | /*-----------------------------------------------------* |
7 | * CCW command codes for CLAW protocol * | 7 | * CCW command codes for CLAW protocol * |
8 | *------------------------------------------------------*/ | 8 | *------------------------------------------------------*/ |
diff --git a/drivers/s390/net/ctcdbug.c b/drivers/s390/net/ctcdbug.c index 0e2a8bb93032..e6e72deb36b5 100644 --- a/drivers/s390/net/ctcdbug.c +++ b/drivers/s390/net/ctcdbug.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * |
3 | * linux/drivers/s390/net/ctcdbug.c ($Revision: 1.6 $) | 3 | * linux/drivers/s390/net/ctcdbug.c |
4 | * | 4 | * |
5 | * CTC / ESCON network driver - s390 dbf exploit. | 5 | * CTC / ESCON network driver - s390 dbf exploit. |
6 | * | 6 | * |
@@ -9,8 +9,6 @@ | |||
9 | * Author(s): Original Code written by | 9 | * Author(s): Original Code written by |
10 | * Peter Tiedemann (ptiedem@de.ibm.com) | 10 | * Peter Tiedemann (ptiedem@de.ibm.com) |
11 | * | 11 | * |
12 | * $Revision: 1.6 $ $Date: 2005/05/11 08:10:17 $ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
15 | * it under the terms of the GNU General Public License as published by | 13 | * it under the terms of the GNU General Public License as published by |
16 | * the Free Software Foundation; either version 2, or (at your option) | 14 | * the Free Software Foundation; either version 2, or (at your option) |
@@ -80,4 +78,3 @@ ctc_register_dbf_views(void) | |||
80 | return 0; | 78 | return 0; |
81 | } | 79 | } |
82 | 80 | ||
83 | |||
diff --git a/drivers/s390/net/ctcdbug.h b/drivers/s390/net/ctcdbug.h index 7d6afa1627c3..413925ee23d1 100644 --- a/drivers/s390/net/ctcdbug.h +++ b/drivers/s390/net/ctcdbug.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * |
3 | * linux/drivers/s390/net/ctcdbug.h ($Revision: 1.6 $) | 3 | * linux/drivers/s390/net/ctcdbug.h |
4 | * | 4 | * |
5 | * CTC / ESCON network driver - s390 dbf exploit. | 5 | * CTC / ESCON network driver - s390 dbf exploit. |
6 | * | 6 | * |
@@ -9,8 +9,6 @@ | |||
9 | * Author(s): Original Code written by | 9 | * Author(s): Original Code written by |
10 | * Peter Tiedemann (ptiedem@de.ibm.com) | 10 | * Peter Tiedemann (ptiedem@de.ibm.com) |
11 | * | 11 | * |
12 | * $Revision: 1.6 $ $Date: 2005/05/11 08:10:17 $ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
15 | * it under the terms of the GNU General Public License as published by | 13 | * it under the terms of the GNU General Public License as published by |
16 | * the Free Software Foundation; either version 2, or (at your option) | 14 | * the Free Software Foundation; either version 2, or (at your option) |
diff --git a/drivers/s390/net/ctcmain.c b/drivers/s390/net/ctcmain.c index 1901feef07d9..af9f212314b3 100644 --- a/drivers/s390/net/ctcmain.c +++ b/drivers/s390/net/ctcmain.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: ctcmain.c,v 1.79 2006/01/11 11:32:18 cohuck Exp $ | ||
3 | * | ||
4 | * CTC / ESCON network driver | 2 | * CTC / ESCON network driver |
5 | * | 3 | * |
6 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation |
@@ -37,8 +35,6 @@ | |||
37 | * along with this program; if not, write to the Free Software | 35 | * along with this program; if not, write to the Free Software |
38 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 36 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
39 | * | 37 | * |
40 | * RELEASE-TAG: CTC/ESCON network driver $Revision: 1.79 $ | ||
41 | * | ||
42 | */ | 38 | */ |
43 | #undef DEBUG | 39 | #undef DEBUG |
44 | #include <linux/module.h> | 40 | #include <linux/module.h> |
@@ -248,22 +244,11 @@ static void | |||
248 | print_banner(void) | 244 | print_banner(void) |
249 | { | 245 | { |
250 | static int printed = 0; | 246 | static int printed = 0; |
251 | char vbuf[] = "$Revision: 1.79 $"; | ||
252 | char *version = vbuf; | ||
253 | 247 | ||
254 | if (printed) | 248 | if (printed) |
255 | return; | 249 | return; |
256 | if ((version = strchr(version, ':'))) { | 250 | |
257 | char *p = strchr(version + 1, '$'); | 251 | printk(KERN_INFO "CTC driver initialized\n"); |
258 | if (p) | ||
259 | *p = '\0'; | ||
260 | } else | ||
261 | version = " ??? "; | ||
262 | printk(KERN_INFO "CTC driver Version%s" | ||
263 | #ifdef DEBUG | ||
264 | " (DEBUG-VERSION, " __DATE__ __TIME__ ")" | ||
265 | #endif | ||
266 | " initialized\n", version); | ||
267 | printed = 1; | 252 | printed = 1; |
268 | } | 253 | } |
269 | 254 | ||
diff --git a/drivers/s390/net/ctcmain.h b/drivers/s390/net/ctcmain.h index ba3605f16335..d2e835c0c134 100644 --- a/drivers/s390/net/ctcmain.h +++ b/drivers/s390/net/ctcmain.h | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: ctcmain.h,v 1.4 2005/03/24 09:04:17 mschwide Exp $ | ||
3 | * | ||
4 | * CTC / ESCON network driver | 2 | * CTC / ESCON network driver |
5 | * | 3 | * |
6 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation |
@@ -29,8 +27,6 @@ | |||
29 | * along with this program; if not, write to the Free Software | 27 | * along with this program; if not, write to the Free Software |
30 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 28 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
31 | * | 29 | * |
32 | * RELEASE-TAG: CTC/ESCON network driver $Revision: 1.4 $ | ||
33 | * | ||
34 | */ | 30 | */ |
35 | 31 | ||
36 | #ifndef _CTCMAIN_H_ | 32 | #ifndef _CTCMAIN_H_ |
diff --git a/drivers/s390/net/ctctty.c b/drivers/s390/net/ctctty.c index 93d1725eb79b..5cdcdbf92962 100644 --- a/drivers/s390/net/ctctty.c +++ b/drivers/s390/net/ctctty.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: ctctty.c,v 1.29 2005/04/05 08:50:44 mschwide Exp $ | ||
3 | * | ||
4 | * CTC / ESCON network driver, tty interface. | 2 | * CTC / ESCON network driver, tty interface. |
5 | * | 3 | * |
6 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation |
diff --git a/drivers/s390/net/ctctty.h b/drivers/s390/net/ctctty.h index 84b2f8f23ab3..7254dc006311 100644 --- a/drivers/s390/net/ctctty.h +++ b/drivers/s390/net/ctctty.h | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: ctctty.h,v 1.4 2003/09/18 08:01:10 mschwide Exp $ | ||
3 | * | ||
4 | * CTC / ESCON network driver, tty interface. | 2 | * CTC / ESCON network driver, tty interface. |
5 | * | 3 | * |
6 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation |
diff --git a/drivers/s390/net/cu3088.c b/drivers/s390/net/cu3088.c index 2014fb7a4881..b12533104c1f 100644 --- a/drivers/s390/net/cu3088.c +++ b/drivers/s390/net/cu3088.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: cu3088.c,v 1.38 2006/01/12 14:33:09 cohuck Exp $ | ||
3 | * | ||
4 | * CTC / LCS ccw_device driver | 2 | * CTC / LCS ccw_device driver |
5 | * | 3 | * |
6 | * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, IBM Corporation |
diff --git a/drivers/s390/net/fsm.c b/drivers/s390/net/fsm.c index 24029bd9c7d0..6caf5fa6a3b5 100644 --- a/drivers/s390/net/fsm.c +++ b/drivers/s390/net/fsm.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /** | 1 | /** |
2 | * $Id: fsm.c,v 1.6 2003/10/15 11:37:29 mschwide Exp $ | ||
3 | * | ||
4 | * A generic FSM based on fsm used in isdn4linux | 2 | * A generic FSM based on fsm used in isdn4linux |
5 | * | 3 | * |
6 | */ | 4 | */ |
diff --git a/drivers/s390/net/fsm.h b/drivers/s390/net/fsm.h index 5b98253be7aa..af679c10f1bd 100644 --- a/drivers/s390/net/fsm.h +++ b/drivers/s390/net/fsm.h | |||
@@ -1,5 +1,3 @@ | |||
1 | /* $Id: fsm.h,v 1.1.1.1 2002/03/13 19:33:09 mschwide Exp $ | ||
2 | */ | ||
3 | #ifndef _FSM_H_ | 1 | #ifndef _FSM_H_ |
4 | #define _FSM_H_ | 2 | #define _FSM_H_ |
5 | 3 | ||
diff --git a/drivers/s390/net/iucv.c b/drivers/s390/net/iucv.c index ea8177392564..760e77ec5a11 100644 --- a/drivers/s390/net/iucv.c +++ b/drivers/s390/net/iucv.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: iucv.c,v 1.47 2005/11/21 11:35:22 mschwide Exp $ | ||
3 | * | ||
4 | * IUCV network driver | 2 | * IUCV network driver |
5 | * | 3 | * |
6 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation |
@@ -29,8 +27,6 @@ | |||
29 | * along with this program; if not, write to the Free Software | 27 | * along with this program; if not, write to the Free Software |
30 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 28 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
31 | * | 29 | * |
32 | * RELEASE-TAG: IUCV lowlevel driver $Revision: 1.47 $ | ||
33 | * | ||
34 | */ | 30 | */ |
35 | 31 | ||
36 | /* #define DEBUG */ | 32 | /* #define DEBUG */ |
@@ -355,17 +351,7 @@ do { \ | |||
355 | static void | 351 | static void |
356 | iucv_banner(void) | 352 | iucv_banner(void) |
357 | { | 353 | { |
358 | char vbuf[] = "$Revision: 1.47 $"; | 354 | printk(KERN_INFO "IUCV lowlevel driver initialized\n"); |
359 | char *version = vbuf; | ||
360 | |||
361 | if ((version = strchr(version, ':'))) { | ||
362 | char *p = strchr(version + 1, '$'); | ||
363 | if (p) | ||
364 | *p = '\0'; | ||
365 | } else | ||
366 | version = " ??? "; | ||
367 | printk(KERN_INFO | ||
368 | "IUCV lowlevel driver Version%s initialized\n", version); | ||
369 | } | 355 | } |
370 | 356 | ||
371 | /** | 357 | /** |
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c index da8c515743e8..9cf88d7201d3 100644 --- a/drivers/s390/net/lcs.c +++ b/drivers/s390/net/lcs.c | |||
@@ -11,8 +11,6 @@ | |||
11 | * Frank Pavlic (fpavlic@de.ibm.com) and | 11 | * Frank Pavlic (fpavlic@de.ibm.com) and |
12 | * Martin Schwidefsky <schwidefsky@de.ibm.com> | 12 | * Martin Schwidefsky <schwidefsky@de.ibm.com> |
13 | * | 13 | * |
14 | * $Revision: 1.99 $ $Date: 2005/05/11 08:10:17 $ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | 14 | * This program is free software; you can redistribute it and/or modify |
17 | * it under the terms of the GNU General Public License as published by | 15 | * it under the terms of the GNU General Public License as published by |
18 | * the Free Software Foundation; either version 2, or (at your option) | 16 | * the Free Software Foundation; either version 2, or (at your option) |
@@ -59,9 +57,8 @@ | |||
59 | /** | 57 | /** |
60 | * initialization string for output | 58 | * initialization string for output |
61 | */ | 59 | */ |
62 | #define VERSION_LCS_C "$Revision: 1.99 $" | ||
63 | 60 | ||
64 | static char version[] __initdata = "LCS driver ("VERSION_LCS_C "/" VERSION_LCS_H ")"; | 61 | static char version[] __initdata = "LCS driver"; |
65 | static char debug_buffer[255]; | 62 | static char debug_buffer[255]; |
66 | 63 | ||
67 | /** | 64 | /** |
@@ -101,9 +98,9 @@ lcs_register_debug_facility(void) | |||
101 | return -ENOMEM; | 98 | return -ENOMEM; |
102 | } | 99 | } |
103 | debug_register_view(lcs_dbf_setup, &debug_hex_ascii_view); | 100 | debug_register_view(lcs_dbf_setup, &debug_hex_ascii_view); |
104 | debug_set_level(lcs_dbf_setup, 4); | 101 | debug_set_level(lcs_dbf_setup, 2); |
105 | debug_register_view(lcs_dbf_trace, &debug_hex_ascii_view); | 102 | debug_register_view(lcs_dbf_trace, &debug_hex_ascii_view); |
106 | debug_set_level(lcs_dbf_trace, 4); | 103 | debug_set_level(lcs_dbf_trace, 2); |
107 | return 0; | 104 | return 0; |
108 | } | 105 | } |
109 | 106 | ||
@@ -1295,9 +1292,8 @@ lcs_set_multicast_list(struct net_device *dev) | |||
1295 | LCS_DBF_TEXT(4, trace, "setmulti"); | 1292 | LCS_DBF_TEXT(4, trace, "setmulti"); |
1296 | card = (struct lcs_card *) dev->priv; | 1293 | card = (struct lcs_card *) dev->priv; |
1297 | 1294 | ||
1298 | if (!lcs_set_thread_start_bit(card, LCS_SET_MC_THREAD)) { | 1295 | if (!lcs_set_thread_start_bit(card, LCS_SET_MC_THREAD)) |
1299 | schedule_work(&card->kernel_thread_starter); | 1296 | schedule_work(&card->kernel_thread_starter); |
1300 | } | ||
1301 | } | 1297 | } |
1302 | 1298 | ||
1303 | #endif /* CONFIG_IP_MULTICAST */ | 1299 | #endif /* CONFIG_IP_MULTICAST */ |
@@ -1462,6 +1458,8 @@ lcs_txbuffer_cb(struct lcs_channel *channel, struct lcs_buffer *buffer) | |||
1462 | lcs_release_buffer(channel, buffer); | 1458 | lcs_release_buffer(channel, buffer); |
1463 | card = (struct lcs_card *) | 1459 | card = (struct lcs_card *) |
1464 | ((char *) channel - offsetof(struct lcs_card, write)); | 1460 | ((char *) channel - offsetof(struct lcs_card, write)); |
1461 | if (netif_queue_stopped(card->dev)) | ||
1462 | netif_wake_queue(card->dev); | ||
1465 | spin_lock(&card->lock); | 1463 | spin_lock(&card->lock); |
1466 | card->tx_emitted--; | 1464 | card->tx_emitted--; |
1467 | if (card->tx_emitted <= 0 && card->tx_buffer != NULL) | 1465 | if (card->tx_emitted <= 0 && card->tx_buffer != NULL) |
@@ -1481,6 +1479,7 @@ __lcs_start_xmit(struct lcs_card *card, struct sk_buff *skb, | |||
1481 | struct net_device *dev) | 1479 | struct net_device *dev) |
1482 | { | 1480 | { |
1483 | struct lcs_header *header; | 1481 | struct lcs_header *header; |
1482 | int rc = 0; | ||
1484 | 1483 | ||
1485 | LCS_DBF_TEXT(5, trace, "hardxmit"); | 1484 | LCS_DBF_TEXT(5, trace, "hardxmit"); |
1486 | if (skb == NULL) { | 1485 | if (skb == NULL) { |
@@ -1495,10 +1494,8 @@ __lcs_start_xmit(struct lcs_card *card, struct sk_buff *skb, | |||
1495 | card->stats.tx_carrier_errors++; | 1494 | card->stats.tx_carrier_errors++; |
1496 | return 0; | 1495 | return 0; |
1497 | } | 1496 | } |
1498 | if (netif_queue_stopped(dev) ) { | 1497 | netif_stop_queue(card->dev); |
1499 | card->stats.tx_dropped++; | 1498 | spin_lock(&card->lock); |
1500 | return -EBUSY; | ||
1501 | } | ||
1502 | if (card->tx_buffer != NULL && | 1499 | if (card->tx_buffer != NULL && |
1503 | card->tx_buffer->count + sizeof(struct lcs_header) + | 1500 | card->tx_buffer->count + sizeof(struct lcs_header) + |
1504 | skb->len + sizeof(u16) > LCS_IOBUFFERSIZE) | 1501 | skb->len + sizeof(u16) > LCS_IOBUFFERSIZE) |
@@ -1509,7 +1506,8 @@ __lcs_start_xmit(struct lcs_card *card, struct sk_buff *skb, | |||
1509 | card->tx_buffer = lcs_get_buffer(&card->write); | 1506 | card->tx_buffer = lcs_get_buffer(&card->write); |
1510 | if (card->tx_buffer == NULL) { | 1507 | if (card->tx_buffer == NULL) { |
1511 | card->stats.tx_dropped++; | 1508 | card->stats.tx_dropped++; |
1512 | return -EBUSY; | 1509 | rc = -EBUSY; |
1510 | goto out; | ||
1513 | } | 1511 | } |
1514 | card->tx_buffer->callback = lcs_txbuffer_cb; | 1512 | card->tx_buffer->callback = lcs_txbuffer_cb; |
1515 | card->tx_buffer->count = 0; | 1513 | card->tx_buffer->count = 0; |
@@ -1521,13 +1519,18 @@ __lcs_start_xmit(struct lcs_card *card, struct sk_buff *skb, | |||
1521 | header->type = card->lan_type; | 1519 | header->type = card->lan_type; |
1522 | header->slot = card->portno; | 1520 | header->slot = card->portno; |
1523 | memcpy(header + 1, skb->data, skb->len); | 1521 | memcpy(header + 1, skb->data, skb->len); |
1522 | spin_unlock(&card->lock); | ||
1524 | card->stats.tx_bytes += skb->len; | 1523 | card->stats.tx_bytes += skb->len; |
1525 | card->stats.tx_packets++; | 1524 | card->stats.tx_packets++; |
1526 | dev_kfree_skb(skb); | 1525 | dev_kfree_skb(skb); |
1527 | if (card->tx_emitted <= 0) | 1526 | netif_wake_queue(card->dev); |
1527 | spin_lock(&card->lock); | ||
1528 | if (card->tx_emitted <= 0 && card->tx_buffer != NULL) | ||
1528 | /* If this is the first tx buffer emit it immediately. */ | 1529 | /* If this is the first tx buffer emit it immediately. */ |
1529 | __lcs_emit_txbuffer(card); | 1530 | __lcs_emit_txbuffer(card); |
1530 | return 0; | 1531 | out: |
1532 | spin_unlock(&card->lock); | ||
1533 | return rc; | ||
1531 | } | 1534 | } |
1532 | 1535 | ||
1533 | static int | 1536 | static int |
@@ -1538,9 +1541,7 @@ lcs_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1538 | 1541 | ||
1539 | LCS_DBF_TEXT(5, trace, "pktxmit"); | 1542 | LCS_DBF_TEXT(5, trace, "pktxmit"); |
1540 | card = (struct lcs_card *) dev->priv; | 1543 | card = (struct lcs_card *) dev->priv; |
1541 | spin_lock(&card->lock); | ||
1542 | rc = __lcs_start_xmit(card, skb, dev); | 1544 | rc = __lcs_start_xmit(card, skb, dev); |
1543 | spin_unlock(&card->lock); | ||
1544 | return rc; | 1545 | return rc; |
1545 | } | 1546 | } |
1546 | 1547 | ||
@@ -2322,7 +2323,6 @@ __init lcs_init_module(void) | |||
2322 | PRINT_ERR("Initialization failed\n"); | 2323 | PRINT_ERR("Initialization failed\n"); |
2323 | return rc; | 2324 | return rc; |
2324 | } | 2325 | } |
2325 | |||
2326 | return 0; | 2326 | return 0; |
2327 | } | 2327 | } |
2328 | 2328 | ||
diff --git a/drivers/s390/net/lcs.h b/drivers/s390/net/lcs.h index a7f348ef1b08..2fad5e40c2e4 100644 --- a/drivers/s390/net/lcs.h +++ b/drivers/s390/net/lcs.h | |||
@@ -6,8 +6,6 @@ | |||
6 | #include <linux/workqueue.h> | 6 | #include <linux/workqueue.h> |
7 | #include <asm/ccwdev.h> | 7 | #include <asm/ccwdev.h> |
8 | 8 | ||
9 | #define VERSION_LCS_H "$Revision: 1.19 $" | ||
10 | |||
11 | #define LCS_DBF_TEXT(level, name, text) \ | 9 | #define LCS_DBF_TEXT(level, name, text) \ |
12 | do { \ | 10 | do { \ |
13 | debug_text_event(lcs_dbf_##name, level, text); \ | 11 | debug_text_event(lcs_dbf_##name, level, text); \ |
@@ -97,7 +95,7 @@ do { \ | |||
97 | */ | 95 | */ |
98 | #define LCS_ILLEGAL_OFFSET 0xffff | 96 | #define LCS_ILLEGAL_OFFSET 0xffff |
99 | #define LCS_IOBUFFERSIZE 0x5000 | 97 | #define LCS_IOBUFFERSIZE 0x5000 |
100 | #define LCS_NUM_BUFFS 8 /* needs to be power of 2 */ | 98 | #define LCS_NUM_BUFFS 32 /* needs to be power of 2 */ |
101 | #define LCS_MAC_LENGTH 6 | 99 | #define LCS_MAC_LENGTH 6 |
102 | #define LCS_INVALID_PORT_NO -1 | 100 | #define LCS_INVALID_PORT_NO -1 |
103 | #define LCS_LANCMD_TIMEOUT_DEFAULT 5 | 101 | #define LCS_LANCMD_TIMEOUT_DEFAULT 5 |
diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c index ac4c4b83fe17..71d3853e8682 100644 --- a/drivers/s390/net/netiucv.c +++ b/drivers/s390/net/netiucv.c | |||
@@ -1,6 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: netiucv.c,v 1.69 2006/01/12 14:33:09 cohuck Exp $ | ||
3 | * | ||
4 | * IUCV network driver | 2 | * IUCV network driver |
5 | * | 3 | * |
6 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation | 4 | * Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation |
@@ -31,8 +29,6 @@ | |||
31 | * along with this program; if not, write to the Free Software | 29 | * along with this program; if not, write to the Free Software |
32 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 30 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
33 | * | 31 | * |
34 | * RELEASE-TAG: IUCV network driver $Revision: 1.69 $ | ||
35 | * | ||
36 | */ | 32 | */ |
37 | 33 | ||
38 | #undef DEBUG | 34 | #undef DEBUG |
@@ -2077,16 +2073,7 @@ DRIVER_ATTR(remove, 0200, NULL, remove_write); | |||
2077 | static void | 2073 | static void |
2078 | netiucv_banner(void) | 2074 | netiucv_banner(void) |
2079 | { | 2075 | { |
2080 | char vbuf[] = "$Revision: 1.69 $"; | 2076 | PRINT_INFO("NETIUCV driver initialized\n"); |
2081 | char *version = vbuf; | ||
2082 | |||
2083 | if ((version = strchr(version, ':'))) { | ||
2084 | char *p = strchr(version + 1, '$'); | ||
2085 | if (p) | ||
2086 | *p = '\0'; | ||
2087 | } else | ||
2088 | version = " ??? "; | ||
2089 | PRINT_INFO("NETIUCV driver Version%s initialized\n", version); | ||
2090 | } | 2077 | } |
2091 | 2078 | ||
2092 | static void __exit | 2079 | static void __exit |
diff --git a/drivers/s390/net/qeth.h b/drivers/s390/net/qeth.h index d238c7ed103b..4df0fcd7b10b 100644 --- a/drivers/s390/net/qeth.h +++ b/drivers/s390/net/qeth.h | |||
@@ -25,8 +25,6 @@ | |||
25 | 25 | ||
26 | #include "qeth_mpc.h" | 26 | #include "qeth_mpc.h" |
27 | 27 | ||
28 | #define VERSION_QETH_H "$Revision: 1.152 $" | ||
29 | |||
30 | #ifdef CONFIG_QETH_IPV6 | 28 | #ifdef CONFIG_QETH_IPV6 |
31 | #define QETH_VERSION_IPV6 ":IPv6" | 29 | #define QETH_VERSION_IPV6 ":IPv6" |
32 | #else | 30 | #else |
@@ -1078,16 +1076,6 @@ qeth_get_qdio_q_format(struct qeth_card *card) | |||
1078 | } | 1076 | } |
1079 | 1077 | ||
1080 | static inline int | 1078 | static inline int |
1081 | qeth_isdigit(char * buf) | ||
1082 | { | ||
1083 | while (*buf) { | ||
1084 | if (!isdigit(*buf++)) | ||
1085 | return 0; | ||
1086 | } | ||
1087 | return 1; | ||
1088 | } | ||
1089 | |||
1090 | static inline int | ||
1091 | qeth_isxdigit(char * buf) | 1079 | qeth_isxdigit(char * buf) |
1092 | { | 1080 | { |
1093 | while (*buf) { | 1081 | while (*buf) { |
@@ -1106,33 +1094,17 @@ qeth_ipaddr4_to_string(const __u8 *addr, char *buf) | |||
1106 | static inline int | 1094 | static inline int |
1107 | qeth_string_to_ipaddr4(const char *buf, __u8 *addr) | 1095 | qeth_string_to_ipaddr4(const char *buf, __u8 *addr) |
1108 | { | 1096 | { |
1109 | const char *start, *end; | 1097 | int count = 0, rc = 0; |
1110 | char abuf[4]; | 1098 | int in[4]; |
1111 | char *tmp; | 1099 | |
1112 | int len; | 1100 | rc = sscanf(buf, "%d.%d.%d.%d%n", |
1113 | int i; | 1101 | &in[0], &in[1], &in[2], &in[3], &count); |
1114 | 1102 | if (rc != 4 || count) | |
1115 | start = buf; | 1103 | return -EINVAL; |
1116 | for (i = 0; i < 4; i++) { | 1104 | for (count = 0; count < 4; count++) { |
1117 | if (i == 3) { | 1105 | if (in[count] > 255) |
1118 | end = strchr(start,0xa); | ||
1119 | if (end) | ||
1120 | len = end - start; | ||
1121 | else | ||
1122 | len = strlen(start); | ||
1123 | } | ||
1124 | else { | ||
1125 | end = strchr(start, '.'); | ||
1126 | len = end - start; | ||
1127 | } | ||
1128 | if ((len <= 0) || (len > 3)) | ||
1129 | return -EINVAL; | ||
1130 | memset(abuf, 0, 4); | ||
1131 | strncpy(abuf, start, len); | ||
1132 | if (!qeth_isdigit(abuf)) | ||
1133 | return -EINVAL; | 1106 | return -EINVAL; |
1134 | addr[i] = simple_strtoul(abuf, &tmp, 10); | 1107 | addr[count] = in[count]; |
1135 | start = end + 1; | ||
1136 | } | 1108 | } |
1137 | return 0; | 1109 | return 0; |
1138 | } | 1110 | } |
@@ -1151,36 +1123,44 @@ qeth_ipaddr6_to_string(const __u8 *addr, char *buf) | |||
1151 | static inline int | 1123 | static inline int |
1152 | qeth_string_to_ipaddr6(const char *buf, __u8 *addr) | 1124 | qeth_string_to_ipaddr6(const char *buf, __u8 *addr) |
1153 | { | 1125 | { |
1154 | const char *start, *end; | 1126 | char *end, *start; |
1155 | u16 *tmp_addr; | 1127 | __u16 *in; |
1156 | char abuf[5]; | 1128 | char num[5]; |
1157 | char *tmp; | 1129 | int num2, cnt, out, found, save_cnt; |
1158 | int len; | 1130 | unsigned short in_tmp[8] = {0, }; |
1159 | int i; | 1131 | |
1160 | 1132 | cnt = out = found = save_cnt = num2 = 0; | |
1161 | tmp_addr = (u16 *)addr; | 1133 | end = start = (char *) buf; |
1162 | start = buf; | 1134 | in = (__u16 *) addr; |
1163 | for (i = 0; i < 8; i++) { | 1135 | memset(in, 0, 16); |
1164 | if (i == 7) { | 1136 | while (end) { |
1165 | end = strchr(start,0xa); | 1137 | end = strchr(end,':'); |
1166 | if (end) | 1138 | if (end == NULL) { |
1167 | len = end - start; | 1139 | end = (char *)buf + (strlen(buf)); |
1168 | else | 1140 | out = 1; |
1169 | len = strlen(start); | 1141 | } |
1170 | } | 1142 | if ((end - start)) { |
1171 | else { | 1143 | memset(num, 0, 5); |
1172 | end = strchr(start, ':'); | 1144 | memcpy(num, start, end - start); |
1173 | len = end - start; | 1145 | if (!qeth_isxdigit(num)) |
1146 | return -EINVAL; | ||
1147 | sscanf(start, "%x", &num2); | ||
1148 | if (found) | ||
1149 | in_tmp[save_cnt++] = num2; | ||
1150 | else | ||
1151 | in[cnt++] = num2; | ||
1152 | if (out) | ||
1153 | break; | ||
1154 | } else { | ||
1155 | if (found) | ||
1156 | return -EINVAL; | ||
1157 | found = 1; | ||
1174 | } | 1158 | } |
1175 | if ((len <= 0) || (len > 4)) | 1159 | start = ++end; |
1176 | return -EINVAL; | 1160 | } |
1177 | memset(abuf, 0, 5); | 1161 | cnt = 7; |
1178 | strncpy(abuf, start, len); | 1162 | while (save_cnt) |
1179 | if (!qeth_isxdigit(abuf)) | 1163 | in[cnt--] = in_tmp[--save_cnt]; |
1180 | return -EINVAL; | ||
1181 | tmp_addr[i] = simple_strtoul(abuf, &tmp, 16); | ||
1182 | start = end + 1; | ||
1183 | } | ||
1184 | return 0; | 1164 | return 0; |
1185 | } | 1165 | } |
1186 | 1166 | ||
diff --git a/drivers/s390/net/qeth_eddp.c b/drivers/s390/net/qeth_eddp.c index f94f1f25eec6..82cb4af2f0e7 100644 --- a/drivers/s390/net/qeth_eddp.c +++ b/drivers/s390/net/qeth_eddp.c | |||
@@ -1,6 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * linux/drivers/s390/net/qeth_eddp.c |
3 | * linux/drivers/s390/net/qeth_eddp.c ($Revision: 1.13 $) | ||
4 | * | 3 | * |
5 | * Enhanced Device Driver Packing (EDDP) support for the qeth driver. | 4 | * Enhanced Device Driver Packing (EDDP) support for the qeth driver. |
6 | * | 5 | * |
@@ -8,8 +7,6 @@ | |||
8 | * | 7 | * |
9 | * Author(s): Thomas Spatzier <tspat@de.ibm.com> | 8 | * Author(s): Thomas Spatzier <tspat@de.ibm.com> |
10 | * | 9 | * |
11 | * $Revision: 1.13 $ $Date: 2005/05/04 20:19:18 $ | ||
12 | * | ||
13 | */ | 10 | */ |
14 | #include <linux/config.h> | 11 | #include <linux/config.h> |
15 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
@@ -62,8 +59,7 @@ qeth_eddp_free_context(struct qeth_eddp_context *ctx) | |||
62 | for (i = 0; i < ctx->num_pages; ++i) | 59 | for (i = 0; i < ctx->num_pages; ++i) |
63 | free_page((unsigned long)ctx->pages[i]); | 60 | free_page((unsigned long)ctx->pages[i]); |
64 | kfree(ctx->pages); | 61 | kfree(ctx->pages); |
65 | if (ctx->elements != NULL) | 62 | kfree(ctx->elements); |
66 | kfree(ctx->elements); | ||
67 | kfree(ctx); | 63 | kfree(ctx); |
68 | } | 64 | } |
69 | 65 | ||
@@ -416,6 +412,13 @@ __qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx, | |||
416 | 412 | ||
417 | QETH_DBF_TEXT(trace, 5, "eddpftcp"); | 413 | QETH_DBF_TEXT(trace, 5, "eddpftcp"); |
418 | eddp->skb_offset = sizeof(struct qeth_hdr) + eddp->nhl + eddp->thl; | 414 | eddp->skb_offset = sizeof(struct qeth_hdr) + eddp->nhl + eddp->thl; |
415 | if (eddp->qh.hdr.l2.id == QETH_HEADER_TYPE_LAYER2) { | ||
416 | eddp->skb_offset += sizeof(struct ethhdr); | ||
417 | #ifdef CONFIG_QETH_VLAN | ||
418 | if (eddp->mac.h_proto == __constant_htons(ETH_P_8021Q)) | ||
419 | eddp->skb_offset += VLAN_HLEN; | ||
420 | #endif /* CONFIG_QETH_VLAN */ | ||
421 | } | ||
419 | tcph = eddp->skb->h.th; | 422 | tcph = eddp->skb->h.th; |
420 | while (eddp->skb_offset < eddp->skb->len) { | 423 | while (eddp->skb_offset < eddp->skb->len) { |
421 | data_len = min((int)skb_shinfo(eddp->skb)->tso_size, | 424 | data_len = min((int)skb_shinfo(eddp->skb)->tso_size, |
@@ -486,6 +489,7 @@ qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx, | |||
486 | return -ENOMEM; | 489 | return -ENOMEM; |
487 | } | 490 | } |
488 | if (qhdr->hdr.l2.id == QETH_HEADER_TYPE_LAYER2) { | 491 | if (qhdr->hdr.l2.id == QETH_HEADER_TYPE_LAYER2) { |
492 | skb->mac.raw = (skb->data) + sizeof(struct qeth_hdr); | ||
489 | memcpy(&eddp->mac, eth_hdr(skb), ETH_HLEN); | 493 | memcpy(&eddp->mac, eth_hdr(skb), ETH_HLEN); |
490 | #ifdef CONFIG_QETH_VLAN | 494 | #ifdef CONFIG_QETH_VLAN |
491 | if (eddp->mac.h_proto == __constant_htons(ETH_P_8021Q)) { | 495 | if (eddp->mac.h_proto == __constant_htons(ETH_P_8021Q)) { |
diff --git a/drivers/s390/net/qeth_eddp.h b/drivers/s390/net/qeth_eddp.h index e1b51860bc57..cae9ba265056 100644 --- a/drivers/s390/net/qeth_eddp.h +++ b/drivers/s390/net/qeth_eddp.h | |||
@@ -1,14 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/s390/net/qeth_eddp.c ($Revision: 1.5 $) | 2 | * linux/drivers/s390/net/qeth_eddp.h |
3 | * | 3 | * |
4 | * Header file for qeth enhanced device driver pakcing. | 4 | * Header file for qeth enhanced device driver packing. |
5 | * | 5 | * |
6 | * Copyright 2004 IBM Corporation | 6 | * Copyright 2004 IBM Corporation |
7 | * | 7 | * |
8 | * Author(s): Thomas Spatzier <tspat@de.ibm.com> | 8 | * Author(s): Thomas Spatzier <tspat@de.ibm.com> |
9 | * | 9 | * |
10 | * $Revision: 1.5 $ $Date: 2005/03/24 09:04:18 $ | ||
11 | * | ||
12 | */ | 10 | */ |
13 | #ifndef __QETH_EDDP_H__ | 11 | #ifndef __QETH_EDDP_H__ |
14 | #define __QETH_EDDP_H__ | 12 | #define __QETH_EDDP_H__ |
diff --git a/drivers/s390/net/qeth_fs.h b/drivers/s390/net/qeth_fs.h index c0b4c8d82c45..e422b41c656e 100644 --- a/drivers/s390/net/qeth_fs.h +++ b/drivers/s390/net/qeth_fs.h | |||
@@ -12,11 +12,6 @@ | |||
12 | #ifndef __QETH_FS_H__ | 12 | #ifndef __QETH_FS_H__ |
13 | #define __QETH_FS_H__ | 13 | #define __QETH_FS_H__ |
14 | 14 | ||
15 | #define VERSION_QETH_FS_H "$Revision: 1.10 $" | ||
16 | |||
17 | extern const char *VERSION_QETH_PROC_C; | ||
18 | extern const char *VERSION_QETH_SYS_C; | ||
19 | |||
20 | #ifdef CONFIG_PROC_FS | 15 | #ifdef CONFIG_PROC_FS |
21 | extern int | 16 | extern int |
22 | qeth_create_procfs_entries(void); | 17 | qeth_create_procfs_entries(void); |
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 97f927c01a82..dba7f7f02e79 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
@@ -1,6 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * linux/drivers/s390/net/qeth_main.c |
3 | * linux/drivers/s390/net/qeth_main.c ($Revision: 1.251 $) | ||
4 | * | 3 | * |
5 | * Linux on zSeries OSA Express and HiperSockets support | 4 | * Linux on zSeries OSA Express and HiperSockets support |
6 | * | 5 | * |
@@ -12,8 +11,6 @@ | |||
12 | * Frank Pavlic (fpavlic@de.ibm.com) and | 11 | * Frank Pavlic (fpavlic@de.ibm.com) and |
13 | * Thomas Spatzier <tspat@de.ibm.com> | 12 | * Thomas Spatzier <tspat@de.ibm.com> |
14 | * | 13 | * |
15 | * $Revision: 1.251 $ $Date: 2005/05/04 20:19:18 $ | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | 14 | * This program is free software; you can redistribute it and/or modify |
18 | * it under the terms of the GNU General Public License as published by | 15 | * it under the terms of the GNU General Public License as published by |
19 | * the Free Software Foundation; either version 2, or (at your option) | 16 | * the Free Software Foundation; either version 2, or (at your option) |
@@ -73,7 +70,6 @@ | |||
73 | #include "qeth_eddp.h" | 70 | #include "qeth_eddp.h" |
74 | #include "qeth_tso.h" | 71 | #include "qeth_tso.h" |
75 | 72 | ||
76 | #define VERSION_QETH_C "$Revision: 1.251 $" | ||
77 | static const char *version = "qeth S/390 OSA-Express driver"; | 73 | static const char *version = "qeth S/390 OSA-Express driver"; |
78 | 74 | ||
79 | /** | 75 | /** |
@@ -520,7 +516,8 @@ __qeth_set_offline(struct ccwgroup_device *cgdev, int recovery_mode) | |||
520 | QETH_DBF_TEXT(setup, 3, "setoffl"); | 516 | QETH_DBF_TEXT(setup, 3, "setoffl"); |
521 | QETH_DBF_HEX(setup, 3, &card, sizeof(void *)); | 517 | QETH_DBF_HEX(setup, 3, &card, sizeof(void *)); |
522 | 518 | ||
523 | netif_carrier_off(card->dev); | 519 | if (card->dev && netif_carrier_ok(card->dev)) |
520 | netif_carrier_off(card->dev); | ||
524 | recover_flag = card->state; | 521 | recover_flag = card->state; |
525 | if (qeth_stop_card(card, recovery_mode) == -ERESTARTSYS){ | 522 | if (qeth_stop_card(card, recovery_mode) == -ERESTARTSYS){ |
526 | PRINT_WARN("Stopping card %s interrupted by user!\n", | 523 | PRINT_WARN("Stopping card %s interrupted by user!\n", |
@@ -1683,6 +1680,7 @@ qeth_cmd_timeout(unsigned long data) | |||
1683 | spin_unlock_irqrestore(&reply->card->lock, flags); | 1680 | spin_unlock_irqrestore(&reply->card->lock, flags); |
1684 | } | 1681 | } |
1685 | 1682 | ||
1683 | |||
1686 | static struct qeth_ipa_cmd * | 1684 | static struct qeth_ipa_cmd * |
1687 | qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) | 1685 | qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) |
1688 | { | 1686 | { |
@@ -1703,7 +1701,8 @@ qeth_check_ipa_data(struct qeth_card *card, struct qeth_cmd_buffer *iob) | |||
1703 | QETH_CARD_IFNAME(card), | 1701 | QETH_CARD_IFNAME(card), |
1704 | card->info.chpid); | 1702 | card->info.chpid); |
1705 | card->lan_online = 0; | 1703 | card->lan_online = 0; |
1706 | netif_carrier_off(card->dev); | 1704 | if (card->dev && netif_carrier_ok(card->dev)) |
1705 | netif_carrier_off(card->dev); | ||
1707 | return NULL; | 1706 | return NULL; |
1708 | case IPA_CMD_STARTLAN: | 1707 | case IPA_CMD_STARTLAN: |
1709 | PRINT_INFO("Link reestablished on %s " | 1708 | PRINT_INFO("Link reestablished on %s " |
@@ -5566,7 +5565,7 @@ qeth_set_multicast_list(struct net_device *dev) | |||
5566 | if (card->info.type == QETH_CARD_TYPE_OSN) | 5565 | if (card->info.type == QETH_CARD_TYPE_OSN) |
5567 | return ; | 5566 | return ; |
5568 | 5567 | ||
5569 | QETH_DBF_TEXT(trace,3,"setmulti"); | 5568 | QETH_DBF_TEXT(trace, 3, "setmulti"); |
5570 | qeth_delete_mc_addresses(card); | 5569 | qeth_delete_mc_addresses(card); |
5571 | if (card->options.layer2) { | 5570 | if (card->options.layer2) { |
5572 | qeth_layer2_add_multicast(card); | 5571 | qeth_layer2_add_multicast(card); |
@@ -5583,7 +5582,6 @@ out: | |||
5583 | return; | 5582 | return; |
5584 | if (qeth_set_thread_start_bit(card, QETH_SET_PROMISC_MODE_THREAD)==0) | 5583 | if (qeth_set_thread_start_bit(card, QETH_SET_PROMISC_MODE_THREAD)==0) |
5585 | schedule_work(&card->kernel_thread_starter); | 5584 | schedule_work(&card->kernel_thread_starter); |
5586 | |||
5587 | } | 5585 | } |
5588 | 5586 | ||
5589 | static int | 5587 | static int |
@@ -7456,6 +7454,7 @@ qeth_softsetup_card(struct qeth_card *card) | |||
7456 | card->lan_online = 1; | 7454 | card->lan_online = 1; |
7457 | if (card->info.type==QETH_CARD_TYPE_OSN) | 7455 | if (card->info.type==QETH_CARD_TYPE_OSN) |
7458 | goto out; | 7456 | goto out; |
7457 | qeth_set_large_send(card, card->options.large_send); | ||
7459 | if (card->options.layer2) { | 7458 | if (card->options.layer2) { |
7460 | card->dev->features |= | 7459 | card->dev->features |= |
7461 | NETIF_F_HW_VLAN_FILTER | | 7460 | NETIF_F_HW_VLAN_FILTER | |
@@ -7472,12 +7471,6 @@ qeth_softsetup_card(struct qeth_card *card) | |||
7472 | #endif | 7471 | #endif |
7473 | goto out; | 7472 | goto out; |
7474 | } | 7473 | } |
7475 | if ((card->options.large_send == QETH_LARGE_SEND_EDDP) || | ||
7476 | (card->options.large_send == QETH_LARGE_SEND_TSO)) | ||
7477 | card->dev->features |= NETIF_F_TSO | NETIF_F_SG; | ||
7478 | else | ||
7479 | card->dev->features &= ~(NETIF_F_TSO | NETIF_F_SG); | ||
7480 | |||
7481 | if ((rc = qeth_setadapter_parms(card))) | 7474 | if ((rc = qeth_setadapter_parms(card))) |
7482 | QETH_DBF_TEXT_(setup, 2, "2err%d", rc); | 7475 | QETH_DBF_TEXT_(setup, 2, "2err%d", rc); |
7483 | if ((rc = qeth_start_ipassists(card))) | 7476 | if ((rc = qeth_start_ipassists(card))) |
@@ -8626,12 +8619,7 @@ qeth_init(void) | |||
8626 | { | 8619 | { |
8627 | int rc=0; | 8620 | int rc=0; |
8628 | 8621 | ||
8629 | PRINT_INFO("loading %s (%s/%s/%s/%s/%s/%s/%s %s %s)\n", | 8622 | PRINT_INFO("loading %s\n", version); |
8630 | version, VERSION_QETH_C, VERSION_QETH_H, | ||
8631 | VERSION_QETH_MPC_H, VERSION_QETH_MPC_C, | ||
8632 | VERSION_QETH_FS_H, VERSION_QETH_PROC_C, | ||
8633 | VERSION_QETH_SYS_C, QETH_VERSION_IPV6, | ||
8634 | QETH_VERSION_VLAN); | ||
8635 | 8623 | ||
8636 | INIT_LIST_HEAD(&qeth_card_list.list); | 8624 | INIT_LIST_HEAD(&qeth_card_list.list); |
8637 | INIT_LIST_HEAD(&qeth_notify_list); | 8625 | INIT_LIST_HEAD(&qeth_notify_list); |
diff --git a/drivers/s390/net/qeth_mpc.c b/drivers/s390/net/qeth_mpc.c index 5f8754addc14..77c83209d70e 100644 --- a/drivers/s390/net/qeth_mpc.c +++ b/drivers/s390/net/qeth_mpc.c | |||
@@ -11,8 +11,6 @@ | |||
11 | #include <asm/cio.h> | 11 | #include <asm/cio.h> |
12 | #include "qeth_mpc.h" | 12 | #include "qeth_mpc.h" |
13 | 13 | ||
14 | const char *VERSION_QETH_MPC_C = "$Revision: 1.13 $"; | ||
15 | |||
16 | unsigned char IDX_ACTIVATE_READ[]={ | 14 | unsigned char IDX_ACTIVATE_READ[]={ |
17 | 0x00,0x00,0x80,0x00, 0x00,0x00,0x00,0x00, | 15 | 0x00,0x00,0x80,0x00, 0x00,0x00,0x00,0x00, |
18 | 0x19,0x01,0x01,0x80, 0x00,0x00,0x00,0x00, | 16 | 0x19,0x01,0x01,0x80, 0x00,0x00,0x00,0x00, |
diff --git a/drivers/s390/net/qeth_mpc.h b/drivers/s390/net/qeth_mpc.h index 864cec5f6c62..011c41041029 100644 --- a/drivers/s390/net/qeth_mpc.h +++ b/drivers/s390/net/qeth_mpc.h | |||
@@ -14,10 +14,6 @@ | |||
14 | 14 | ||
15 | #include <asm/qeth.h> | 15 | #include <asm/qeth.h> |
16 | 16 | ||
17 | #define VERSION_QETH_MPC_H "$Revision: 1.46 $" | ||
18 | |||
19 | extern const char *VERSION_QETH_MPC_C; | ||
20 | |||
21 | #define IPA_PDU_HEADER_SIZE 0x40 | 17 | #define IPA_PDU_HEADER_SIZE 0x40 |
22 | #define QETH_IPA_PDU_LEN_TOTAL(buffer) (buffer+0x0e) | 18 | #define QETH_IPA_PDU_LEN_TOTAL(buffer) (buffer+0x0e) |
23 | #define QETH_IPA_PDU_LEN_PDU1(buffer) (buffer+0x26) | 19 | #define QETH_IPA_PDU_LEN_PDU1(buffer) (buffer+0x26) |
diff --git a/drivers/s390/net/qeth_proc.c b/drivers/s390/net/qeth_proc.c index 7bf35098831e..3c6339df879d 100644 --- a/drivers/s390/net/qeth_proc.c +++ b/drivers/s390/net/qeth_proc.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * |
3 | * linux/drivers/s390/net/qeth_fs.c ($Revision: 1.16 $) | 3 | * linux/drivers/s390/net/qeth_fs.c |
4 | * | 4 | * |
5 | * Linux on zSeries OSA Express and HiperSockets support | 5 | * Linux on zSeries OSA Express and HiperSockets support |
6 | * This file contains code related to procfs. | 6 | * This file contains code related to procfs. |
@@ -21,8 +21,6 @@ | |||
21 | #include "qeth_mpc.h" | 21 | #include "qeth_mpc.h" |
22 | #include "qeth_fs.h" | 22 | #include "qeth_fs.h" |
23 | 23 | ||
24 | const char *VERSION_QETH_PROC_C = "$Revision: 1.16 $"; | ||
25 | |||
26 | /***** /proc/qeth *****/ | 24 | /***** /proc/qeth *****/ |
27 | #define QETH_PROCFILE_NAME "qeth" | 25 | #define QETH_PROCFILE_NAME "qeth" |
28 | static struct proc_dir_entry *qeth_procfile; | 26 | static struct proc_dir_entry *qeth_procfile; |
diff --git a/drivers/s390/net/qeth_sys.c b/drivers/s390/net/qeth_sys.c index 0ea185f70f75..c1831f572585 100644 --- a/drivers/s390/net/qeth_sys.c +++ b/drivers/s390/net/qeth_sys.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * |
3 | * linux/drivers/s390/net/qeth_sys.c ($Revision: 1.60 $) | 3 | * linux/drivers/s390/net/qeth_sys.c |
4 | * | 4 | * |
5 | * Linux on zSeries OSA Express and HiperSockets support | 5 | * Linux on zSeries OSA Express and HiperSockets support |
6 | * This file contains code related to sysfs. | 6 | * This file contains code related to sysfs. |
@@ -20,8 +20,6 @@ | |||
20 | #include "qeth_mpc.h" | 20 | #include "qeth_mpc.h" |
21 | #include "qeth_fs.h" | 21 | #include "qeth_fs.h" |
22 | 22 | ||
23 | const char *VERSION_QETH_SYS_C = "$Revision: 1.60 $"; | ||
24 | |||
25 | /*****************************************************************************/ | 23 | /*****************************************************************************/ |
26 | /* */ | 24 | /* */ |
27 | /* /sys-fs stuff UNDER DEVELOPMENT !!! */ | 25 | /* /sys-fs stuff UNDER DEVELOPMENT !!! */ |
diff --git a/drivers/s390/net/qeth_tso.h b/drivers/s390/net/qeth_tso.h index 3c50b6f24f51..1286ddea450b 100644 --- a/drivers/s390/net/qeth_tso.h +++ b/drivers/s390/net/qeth_tso.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/s390/net/qeth_tso.h ($Revision: 1.8 $) | 2 | * linux/drivers/s390/net/qeth_tso.h |
3 | * | 3 | * |
4 | * Header file for qeth TCP Segmentation Offload support. | 4 | * Header file for qeth TCP Segmentation Offload support. |
5 | * | 5 | * |
@@ -7,8 +7,6 @@ | |||
7 | * | 7 | * |
8 | * Author(s): Frank Pavlic <fpavlic@de.ibm.com> | 8 | * Author(s): Frank Pavlic <fpavlic@de.ibm.com> |
9 | * | 9 | * |
10 | * $Revision: 1.8 $ $Date: 2005/05/04 20:19:18 $ | ||
11 | * | ||
12 | */ | 10 | */ |
13 | #ifndef __QETH_TSO_H__ | 11 | #ifndef __QETH_TSO_H__ |
14 | #define __QETH_TSO_H__ | 12 | #define __QETH_TSO_H__ |
diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c index d6469baa7e16..72118ee68954 100644 --- a/drivers/s390/net/smsgiucv.c +++ b/drivers/s390/net/smsgiucv.c | |||
@@ -168,7 +168,7 @@ smsg_init(void) | |||
168 | driver_unregister(&smsg_driver); | 168 | driver_unregister(&smsg_driver); |
169 | return -EIO; /* better errno ? */ | 169 | return -EIO; /* better errno ? */ |
170 | } | 170 | } |
171 | rc = iucv_connect (&smsg_pathid, 1, 0, "*MSG ", 0, 0, 0, 0, | 171 | rc = iucv_connect (&smsg_pathid, 255, 0, "*MSG ", 0, 0, 0, 0, |
172 | smsg_handle, 0); | 172 | smsg_handle, 0); |
173 | if (rc) { | 173 | if (rc) { |
174 | printk(KERN_ERR "SMSGIUCV: failed to connect to *MSG"); | 174 | printk(KERN_ERR "SMSGIUCV: failed to connect to *MSG"); |