All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH]  axnet_cs: fix phy_id detection for bogus Asix chip.
@ 2009-04-05  0:49 Ken Kawasaki
  2009-04-07  0:42 ` David Miller
                   ` (7 more replies)
  0 siblings, 8 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-04-05  0:49 UTC (permalink / raw)
  To: netdev



axnet_cs:

(1) Some Asix phy return bogus value except 0 or 0xffff.
    Skip this phy_id.

(2) Some Asix chip need to set "select Internal PHY" bit
    at AX88190_init.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.29-git1/drivers/net/pcmcia/axnet_cs.c.orig	2009-03-29 11:55:26.000000000 +0900
+++ linux-2.6.29-git1/drivers/net/pcmcia/axnet_cs.c	2009-03-29 12:01:40.000000000 +0900
@@ -339,7 +339,7 @@ static int axnet_config(struct pcmcia_de
 {
     struct net_device *dev = link->priv;
     axnet_dev_t *info = PRIV(dev);
-    int i, j, last_ret, last_fn;
+    int i, j, j2, last_ret, last_fn;
 
     DEBUG(0, "axnet_config(0x%p)\n", link);
 
@@ -388,6 +388,8 @@ static int axnet_config(struct pcmcia_de
 
     for (i = 0; i < 32; i++) {
 	j = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 1);
+	j2 = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 2);
+	if (j == j2) continue;
 	if ((j != 0) && (j != 0xffff)) break;
     }
 
@@ -398,6 +400,8 @@ static int axnet_config(struct pcmcia_de
  	pcmcia_access_configuration_register(link, &reg);
 	for (i = 0; i < 32; i++) {
 	    j = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 1);
+	    j2 = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 2);
+	    if (j == j2) continue;
 	    if ((j != 0) && (j != 0xffff)) break;
 	}
     }
@@ -1767,6 +1771,9 @@ static void AX88190_init(struct net_devi
 	ei_local->tx1 = ei_local->tx2 = 0;
 	ei_local->txing = 0;
 
+	if (info->flags & IS_AX88790)	/* select Internal PHY */
+		outb(0x10, e8390_base + AXNET_GPIO);
+
 	if (startp) 
 	{
 		outb_p(0xff,  e8390_base + EN0_ISR);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip.
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
@ 2009-04-07  0:42 ` David Miller
  2009-04-18 23:44 ` [PATCH] pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM Ken Kawasaki
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-04-07  0:42 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 5 Apr 2009 09:49:07 +0900

> axnet_cs:
> 
> (1) Some Asix phy return bogus value except 0 or 0xffff.
>     Skip this phy_id.
> 
> (2) Some Asix chip need to set "select Internal PHY" bit
>     at AX88190_init.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
  2009-04-07  0:42 ` David Miller
@ 2009-04-18 23:44 ` Ken Kawasaki
  2009-04-26  7:29   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
  2009-04-27 12:50   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
  2009-06-28  0:09 ` [PATCH] pcnet_cs: add new id (RIOS System PC CARD3 ETHERNET) Ken Kawasaki
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-04-18 23:44 UTC (permalink / raw)
  To: netdev


pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

diff -uprN linux-2.6.30-rc2.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.30-rc2/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.30-rc2.orig/drivers/net/pcmcia/pcnet_cs.c	2009-04-12 20:42:39.000000000 +0900
+++ linux-2.6.30-rc2/drivers/net/pcmcia/pcnet_cs.c	2009-04-12 20:29:09.000000000 +0900
@@ -1758,7 +1758,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "DP83903.cis"),
-	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "LA-PCM.cis"),
+	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "NE2K.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
diff -uprN linux-2.6.30-rc2.orig/firmware/cis/LA-PCM.cis.ihex linux-2.6.30-rc2/firmware/cis/LA-PCM.cis.ihex
--- linux-2.6.30-rc2.orig/firmware/cis/LA-PCM.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.30-rc2/firmware/cis/LA-PCM.cis.ihex	2009-04-12 20:23:44.000000000 +0900
@@ -0,0 +1,20 @@
+:100000000105D4F953E9FF17035338FF20040FC04B
+:1000100002002102060315390401416C6C69656414
+:100020002054656C657369732C4B2E4B00457468C6
+:1000300065726E6574204C414E20436172640043CA
+:10004000656E747265434F4D004C412D50434D0019
+:10005000FF1A0602100000020B1B08810108E06075
+:1000600000021F1B08820108E06020021F1B08839A
+:100070000108E06040021F1B08840108E060600284
+:100080001F1B08850108E06080021F1B088601080D
+:10009000E060A0021F1B08870108E060C0021F1B70
+:1000A00008880108E060E0021F1B08890108E06081
+:1000B00000031F1B088A0108E06020031F1B088B38
+:1000C0000108E06040031F1B088C0108E06060032A
+:1000D0001F1B088D0108E06080031F1B088E0108AC
+:1000E000E060A0031F1B088F0108E060C0031F1B16
+:0D00F00008900108E060E0031F1400FF000D
+:00000001FF
+#
+# Replacement CIS for Allied Telesis LA-PCM
+#

diff -uprN linux-2.6.30-rc2.orig/firmware/Makefile linux-2.6.30-rc2/firmware/Makefile
--- linux-2.6.30-rc2.orig/firmware/Makefile	2009-04-18 08:52:15.000000000 +0900
+++ linux-2.6.30-rc2/firmware/Makefile	2009-04-18 09:39:49.000000000 +0900
@@ -46,6 +46,7 @@ fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) +=
 fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
 			     e100/d102e_ucode.bin
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
+fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.30-rc2.orig/firmware/WHENCE linux-2.6.30-rc2/firmware/WHENCE
--- linux-2.6.30-rc2.orig/firmware/WHENCE	2009-04-18 08:52:15.000000000 +0900
+++ linux-2.6.30-rc2/firmware/WHENCE	2009-04-18 09:39:12.000000000 +0900
@@ -576,6 +576,16 @@ Found in hex form in kernel source.
 
 --------------------------------------------------------------------------
 
+Driver: PCMCIA_PCNET - NE2000 compatible PCMCIA adapter
+
+File: cis/LA-PCM.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
 
 File: ositech/Xilinx7OD.bin


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card
  2009-04-18 23:44 ` [PATCH] pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM Ken Kawasaki
@ 2009-04-26  7:29   ` Ken Kawasaki
  2009-04-26 13:33     ` Ben Hutchings
                       ` (2 more replies)
  2009-04-27 12:50   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
  1 sibling, 3 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-04-26  7:29 UTC (permalink / raw)
  To: netdev


3c589_cs,3c574_cs,serial_cs:

 (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card.
 (2)load correct configuration register for 3Com card
 
 
Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
 
---

 drivers/net/pcmcia/3c574_cs.c   |    2 +-
 drivers/net/pcmcia/3c589_cs.c   |    4 ++--
 drivers/serial/serial_cs.c      |   22 +++++++++++++++++-----
 firmware/Makefile               |    2 ++
 firmware/WHENCE                 |   20 ++++++++++++++++++++
 firmware/cis/3CCFEM556.cis.ihex |   13 +++++++++++++
 firmware/cis/3CXEM556.cis.ihex  |   13 +++++++++++++
 7 files changed, 68 insertions(+), 8 deletions(-)

diff -uprN linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c589_cs.c linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c589_cs.c
--- linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c589_cs.c	2009-04-25 14:44:41.000000000 +0900
+++ linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c589_cs.c	2009-04-25 15:07:47.000000000 +0900
@@ -967,8 +967,8 @@ static struct pcmcia_device_id tc589_ids
 	PCMCIA_MFC_DEVICE_PROD_ID1(0, "Motorola MARQUIS", 0xf03e4e77),
 	PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0589),
 	PCMCIA_DEVICE_PROD_ID12("Farallon", "ENet", 0x58d93fc4, 0x992c2202),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0035, "3CXEM556.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0035, "cis/3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_NULL,
 };
 MODULE_DEVICE_TABLE(pcmcia, tc589_ids);
diff -uprN linux-2.6.30-rc3-git1.orig/drivers/serial/serial_cs.c linux-2.6.30-rc3-git1/drivers/serial/serial_cs.c
--- linux-2.6.30-rc3-git1.orig/drivers/serial/serial_cs.c	2009-03-24 08:12:14.000000000 +0900
+++ linux-2.6.30-rc3-git1/drivers/serial/serial_cs.c	2009-04-25 15:12:19.000000000 +0900
@@ -681,7 +681,7 @@ static int serial_config(struct pcmcia_d
 	u_char *buf;
 	cisparse_t *parse;
 	cistpl_cftable_entry_t *cf;
-	int i;
+	int i, last_ret, last_fn;
 
 	DEBUG(0, "serial_config(0x%p)\n", link);
 
@@ -699,6 +699,16 @@ static int serial_config(struct pcmcia_d
 	tuple->TupleDataMax = 255;
 	tuple->Attributes = 0;
 
+	/* Get configuration register information */
+	tuple->DesiredTuple = CISTPL_CONFIG;
+	last_ret = first_tuple(link, tuple, parse);
+	if (last_ret != 0) {
+		last_fn = ParseTuple;
+		goto cs_failed;
+ 	}
+    	link->conf.ConfigBase = parse->config.base;
+   	link->conf.Present = parse->config.rmask[0];
+
 	/* Is this a compliant multifunction card? */
 	tuple->DesiredTuple = CISTPL_LONGLINK_MFC;
 	tuple->Attributes = TUPLE_RETURN_COMMON | TUPLE_RETURN_LINK;
@@ -761,7 +771,9 @@ static int serial_config(struct pcmcia_d
 	kfree(cfg_mem);
 	return 0;
 
- failed:
+cs_failed:
+	cs_error(link, last_fn, last_ret);
+failed:
 	serial_remove(link);
 	kfree(cfg_mem);
 	return -ENODEV;
@@ -863,10 +875,10 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "3CCFEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "3CXEM556.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "SW_8xx_SER.cis"),  /* Sierra Wireless AC850 3G Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/cis/3CCFEM556.cis.ihex linux-2.6.30-rc3-git1/firmware/cis/3CCFEM556.cis.ihex
--- linux-2.6.30-rc3-git1.orig/firmware/cis/3CCFEM556.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/cis/3CCFEM556.cis.ihex	2009-04-25 14:56:14.000000000 +0900
@@ -0,0 +1,13 @@
+:1000000001030000FF152D050033436F6D004D65A2
+:100010006761686572747A2033434346454D3535D0
+:1000200036004C414E202B2035366B204D6F6465D9
+:100030006D0000FF20040101560521020000060B9F
+:1000400002004D000000006B000000FF001303439E
+:100050004953210206001A060507001067021B0912
+:1000600087011901556430FFFFFF00130343495313
+:10007000210202001A060527001177021B09A701B9
+:090080001901552330FFFFFF00B8
+:00000001FF
+#
+# This card is MFC-compliant, but identifies itself as single function
+#
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/cis/3CXEM556.cis.ihex linux-2.6.30-rc3-git1/firmware/cis/3CXEM556.cis.ihex
--- linux-2.6.30-rc3-git1.orig/firmware/cis/3CXEM556.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/cis/3CXEM556.cis.ihex	2009-04-25 14:56:14.000000000 +0900
@@ -0,0 +1,13 @@
+:1000000001030000FF152C050033436F6D004D65A3
+:100010006761686572747A20334358454D353536CB
+:10002000004C414E202B2035366B204D6F64656DA2
+:100030000000FF20040101350021020000060B0230
+:10004000004C0000000069000000FF00130343495A
+:1000500053210206001A0501070008631B098701E6
+:100060001901556430FFFFFF001303434953210278
+:1000700002001A0501270009631B09A70119015590
+:060080002330FFFFFF002A
+:00000001FF
+#
+# This card is MFC-compliant, but identifies itself as single function
+#
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/Makefile linux-2.6.30-rc3-git1/firmware/Makefile
--- linux-2.6.30-rc3-git1.orig/firmware/Makefile	2009-04-25 14:45:22.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/Makefile	2009-04-25 15:07:09.000000000 +0900
@@ -47,6 +47,8 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
 			     e100/d102e_ucode.bin
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
 fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis
+fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
+fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/WHENCE linux-2.6.30-rc3-git1/firmware/WHENCE
--- linux-2.6.30-rc3-git1.orig/firmware/WHENCE	2009-04-25 14:45:22.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/WHENCE	2009-04-25 15:06:07.000000000 +0900
@@ -586,6 +586,26 @@ Originally developed by the pcmcia-cs pr
 
 --------------------------------------------------------------------------
 
+Driver: PCMCIA_3C589 - 3Com PCMCIA adapter
+
+File: cis/3CXEM556.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
+Driver: PCMCIA_3C574 - 3Com PCMCIA adapter
+
+File: cis/3CCFEM556.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
 
 File: ositech/Xilinx7OD.bin

diff -uprN linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c574_cs.c linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c574_cs.c
--- linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c574_cs.c	2009-04-26 07:50:02.000000000 +0900
+++ linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c574_cs.c	2009-04-26 07:58:23.000000000 +0900
@@ -1195,7 +1195,7 @@ static int el3_close(struct net_device *
 
 static struct pcmcia_device_id tc574_ids[] = {
 	PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0574),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0556, "3CCFEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
 	PCMCIA_DEVICE_NULL,
 };
 MODULE_DEVICE_TABLE(pcmcia, tc574_ids);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card
  2009-04-26  7:29   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
@ 2009-04-26 13:33     ` Ben Hutchings
  2009-04-27 12:48       ` Ken Kawasaki
  2009-09-12 22:22     ` [PATCH] pcnet_cs: add cis of Linksys " Ken Kawasaki
  2009-09-13  8:22     ` [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card Ken Kawasaki
  2 siblings, 1 reply; 90+ messages in thread
From: Ben Hutchings @ 2009-04-26 13:33 UTC (permalink / raw)
  To: Ken Kawasaki; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 295 bytes --]

On Sun, 2009-04-26 at 16:29 +0900, Ken Kawasaki wrote:
> 3c589_cs,3c574_cs,serial_cs:
> 
>  (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card.
>  (2)load correct configuration register for 3Com card
[...]

Please read and follow firmware/README.AddingFirmware.

Ben.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card
  2009-04-26 13:33     ` Ben Hutchings
@ 2009-04-27 12:48       ` Ken Kawasaki
  0 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-04-27 12:48 UTC (permalink / raw)
  To: Ben Hutchings; +Cc: netdev

On Sun, 26 Apr 2009 14:33:02 +0100
Ben Hutchings <ben@decadent.org.uk> wrote:

> On Sun, 2009-04-26 at 16:29 +0900, Ken Kawasaki wrote:
> > 3c589_cs,3c574_cs,serial_cs:
> > 
> >  (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card.
> >  (2)load correct configuration register for 3Com card
> [...]
> 
> Please read and follow firmware/README.AddingFirmware.
> 


OK. Thanks,

Ken.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card
  2009-04-18 23:44 ` [PATCH] pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM Ken Kawasaki
  2009-04-26  7:29   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
@ 2009-04-27 12:50   ` Ken Kawasaki
  2009-05-02  2:22     ` David Miller
  1 sibling, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-04-27 12:50 UTC (permalink / raw)
  To: dwmw2; +Cc: netdev


3c589_cs,3c574_cs,serial_cs:

 (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card.
 (2)load correct configuration register for 3Com card
 
 
Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
 
---

 drivers/net/pcmcia/3c574_cs.c   |    2 +-
 drivers/net/pcmcia/3c589_cs.c   |    4 ++--
 drivers/serial/serial_cs.c      |   22 +++++++++++++++++-----
 firmware/Makefile               |    2 ++
 firmware/WHENCE                 |   20 ++++++++++++++++++++
 firmware/cis/3CCFEM556.cis.ihex |   13 +++++++++++++
 firmware/cis/3CXEM556.cis.ihex  |   13 +++++++++++++
 7 files changed, 68 insertions(+), 8 deletions(-)

diff -uprN linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c589_cs.c linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c589_cs.c
--- linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c589_cs.c	2009-04-25 14:44:41.000000000 +0900
+++ linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c589_cs.c	2009-04-25 15:07:47.000000000 +0900
@@ -967,8 +967,8 @@ static struct pcmcia_device_id tc589_ids
 	PCMCIA_MFC_DEVICE_PROD_ID1(0, "Motorola MARQUIS", 0xf03e4e77),
 	PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0589),
 	PCMCIA_DEVICE_PROD_ID12("Farallon", "ENet", 0x58d93fc4, 0x992c2202),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0035, "3CXEM556.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0035, "cis/3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_NULL,
 };
 MODULE_DEVICE_TABLE(pcmcia, tc589_ids);
diff -uprN linux-2.6.30-rc3-git1.orig/drivers/serial/serial_cs.c linux-2.6.30-rc3-git1/drivers/serial/serial_cs.c
--- linux-2.6.30-rc3-git1.orig/drivers/serial/serial_cs.c	2009-03-24 08:12:14.000000000 +0900
+++ linux-2.6.30-rc3-git1/drivers/serial/serial_cs.c	2009-04-25 15:12:19.000000000 +0900
@@ -681,7 +681,7 @@ static int serial_config(struct pcmcia_d
 	u_char *buf;
 	cisparse_t *parse;
 	cistpl_cftable_entry_t *cf;
-	int i;
+	int i, last_ret, last_fn;
 
 	DEBUG(0, "serial_config(0x%p)\n", link);
 
@@ -699,6 +699,16 @@ static int serial_config(struct pcmcia_d
 	tuple->TupleDataMax = 255;
 	tuple->Attributes = 0;
 
+	/* Get configuration register information */
+	tuple->DesiredTuple = CISTPL_CONFIG;
+	last_ret = first_tuple(link, tuple, parse);
+	if (last_ret != 0) {
+		last_fn = ParseTuple;
+		goto cs_failed;
+ 	}
+    	link->conf.ConfigBase = parse->config.base;
+   	link->conf.Present = parse->config.rmask[0];
+
 	/* Is this a compliant multifunction card? */
 	tuple->DesiredTuple = CISTPL_LONGLINK_MFC;
 	tuple->Attributes = TUPLE_RETURN_COMMON | TUPLE_RETURN_LINK;
@@ -761,7 +771,9 @@ static int serial_config(struct pcmcia_d
 	kfree(cfg_mem);
 	return 0;
 
- failed:
+cs_failed:
+	cs_error(link, last_fn, last_ret);
+failed:
 	serial_remove(link);
 	kfree(cfg_mem);
 	return -ENODEV;
@@ -863,10 +875,10 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "3CCFEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "3CXEM556.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "SW_8xx_SER.cis"),  /* Sierra Wireless AC850 3G Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/cis/3CCFEM556.cis.ihex linux-2.6.30-rc3-git1/firmware/cis/3CCFEM556.cis.ihex
--- linux-2.6.30-rc3-git1.orig/firmware/cis/3CCFEM556.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/cis/3CCFEM556.cis.ihex	2009-04-25 14:56:14.000000000 +0900
@@ -0,0 +1,13 @@
+:1000000001030000FF152D050033436F6D004D65A2
+:100010006761686572747A2033434346454D3535D0
+:1000200036004C414E202B2035366B204D6F6465D9
+:100030006D0000FF20040101560521020000060B9F
+:1000400002004D000000006B000000FF001303439E
+:100050004953210206001A060507001067021B0912
+:1000600087011901556430FFFFFF00130343495313
+:10007000210202001A060527001177021B09A701B9
+:090080001901552330FFFFFF00B8
+:00000001FF
+#
+# This card is MFC-compliant, but identifies itself as single function
+#
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/cis/3CXEM556.cis.ihex linux-2.6.30-rc3-git1/firmware/cis/3CXEM556.cis.ihex
--- linux-2.6.30-rc3-git1.orig/firmware/cis/3CXEM556.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/cis/3CXEM556.cis.ihex	2009-04-25 14:56:14.000000000 +0900
@@ -0,0 +1,13 @@
+:1000000001030000FF152C050033436F6D004D65A3
+:100010006761686572747A20334358454D353536CB
+:10002000004C414E202B2035366B204D6F64656DA2
+:100030000000FF20040101350021020000060B0230
+:10004000004C0000000069000000FF00130343495A
+:1000500053210206001A0501070008631B098701E6
+:100060001901556430FFFFFF001303434953210278
+:1000700002001A0501270009631B09A70119015590
+:060080002330FFFFFF002A
+:00000001FF
+#
+# This card is MFC-compliant, but identifies itself as single function
+#
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/Makefile linux-2.6.30-rc3-git1/firmware/Makefile
--- linux-2.6.30-rc3-git1.orig/firmware/Makefile	2009-04-25 14:45:22.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/Makefile	2009-04-25 15:07:09.000000000 +0900
@@ -47,6 +47,8 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
 			     e100/d102e_ucode.bin
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
 fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis
+fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
+fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.30-rc3-git1.orig/firmware/WHENCE linux-2.6.30-rc3-git1/firmware/WHENCE
--- linux-2.6.30-rc3-git1.orig/firmware/WHENCE	2009-04-25 14:45:22.000000000 +0900
+++ linux-2.6.30-rc3-git1/firmware/WHENCE	2009-04-25 15:06:07.000000000 +0900
@@ -586,6 +586,26 @@ Originally developed by the pcmcia-cs pr
 
 --------------------------------------------------------------------------
 
+Driver: PCMCIA_3C589 - 3Com PCMCIA adapter
+
+File: cis/3CXEM556.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
+Driver: PCMCIA_3C574 - 3Com PCMCIA adapter
+
+File: cis/3CCFEM556.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
 
 File: ositech/Xilinx7OD.bin

diff -uprN linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c574_cs.c linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c574_cs.c
--- linux-2.6.30-rc3-git1.orig/drivers/net/pcmcia/3c574_cs.c	2009-04-26 07:50:02.000000000 +0900
+++ linux-2.6.30-rc3-git1/drivers/net/pcmcia/3c574_cs.c	2009-04-26 07:58:23.000000000 +0900
@@ -1195,7 +1195,7 @@ static int el3_close(struct net_device *
 
 static struct pcmcia_device_id tc574_ids[] = {
 	PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0574),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0556, "3CCFEM556.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
 	PCMCIA_DEVICE_NULL,
 };
 MODULE_DEVICE_TABLE(pcmcia, tc574_ids);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card
  2009-04-27 12:50   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
@ 2009-05-02  2:22     ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-05-02  2:22 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: dwmw2, netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Mon, 27 Apr 2009 21:50:50 +0900

> 
> 3c589_cs,3c574_cs,serial_cs:
> 
>  (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card.
>  (2)load correct configuration register for 3Com card
>  
>  
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied to net-next-2.6.

But a few things to be mindful of next time, which I had to
clean up for you.

> + 	}
> +    	link->conf.ConfigBase = parse->config.base;
> +   	link->conf.Present = parse->config.rmask[0];

These three lines started with some spaces, then a tab
character.  It should just be one tab character.

GIT warns about this when applying patches so that such
spacing errors can be caught before code goes into the
tree.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add new id (RIOS System PC CARD3 ETHERNET)
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
  2009-04-07  0:42 ` David Miller
  2009-04-18 23:44 ` [PATCH] pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM Ken Kawasaki
@ 2009-06-28  0:09 ` Ken Kawasaki
  2009-06-30 14:19   ` [PATCH] pcnet_cs: add new id David Miller
  2009-07-05  0:17 ` Ken Kawasaki
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-06-28  0:09 UTC (permalink / raw)
  To: netdev


pcnet_cs:

(1) add new id (RIOS System PC CARD3 ETHERNET).

(2) add odd location support for write_asic function.

(3) change default setting of use_shmem to 0.
    because shared memory does not work on some PC.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c.orig	2009-06-27 10:15:47.000000000 +0900
+++ linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-06-27 10:40:34.000000000 +0900
@@ -95,7 +95,7 @@ INT_MODULE_PARM(use_big_buf,	1);	/* use 
 INT_MODULE_PARM(mem_speed,	0);	/* shared mem speed, in ns */
 INT_MODULE_PARM(delay_output,	0);	/* pause after xmit? */
 INT_MODULE_PARM(delay_time,	4);	/* in usec */
-INT_MODULE_PARM(use_shmem,	-1);	/* use shared memory? */
+INT_MODULE_PARM(use_shmem,	0);	/* use shared memory? */
 INT_MODULE_PARM(full_duplex,	0);	/* full duplex? */
 
 /* Ugh!  Let the user hardwire the hardware address for queer cards */
@@ -886,9 +886,10 @@ static void write_asic(unsigned int ioad
 		outb_p(EE_ASIC|EE_CS|EE_DI|dataval, ee_addr);
 	}
 	// sync
-	outb(EE_ASIC|EE_CS, ee_addr);
-	outb(EE_ASIC|EE_CS|EE_CK, ee_addr);
-	outb(EE_ASIC|EE_CS, ee_addr);
+	dataval = (location & 1) ? EE_DO : 0;
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval|EE_CK, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
 
 	for (i = 15; i >= 0; i--) {
 		dataval = (asic_data & (1 << i)) ? EE_ADOT : 0;
@@ -1727,6 +1728,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID12("PRETEC", "Ethernet CompactLAN 10BaseT 3.3V", 0xebf91155, 0x7f5a4f50),
 	PCMCIA_DEVICE_PROD_ID12("Psion Dacom", "Gold Card Ethernet", 0xf5f025c2, 0x3a30e110),
 	PCMCIA_DEVICE_PROD_ID12("=RELIA==", "Ethernet", 0xcdd0644a, 0x00b2e941),
+	PCMCIA_DEVICE_PROD_ID12("RIOS Systems Co.", "PC CARD3 ETHERNET", 0x7dd33481, 0x10b41826),
 	PCMCIA_DEVICE_PROD_ID12("RP", "1625B Ethernet NE2000 Compatible", 0xe3e66e22, 0xb96150df),
 	PCMCIA_DEVICE_PROD_ID12("RPTI", "EP400 Ethernet NE2000 Compatible", 0xdc6f88fd, 0x4a7e2ae0),
 	PCMCIA_DEVICE_PROD_ID12("RPTI", "EP401 Ethernet NE2000 Compatible", 0xdc6f88fd, 0x4bcbd7fd),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] pcnet_cs: add new id
  2009-06-28  0:09 ` [PATCH] pcnet_cs: add new id (RIOS System PC CARD3 ETHERNET) Ken Kawasaki
@ 2009-06-30 14:19   ` David Miller
  2009-07-05  8:34     ` Ken Kawasaki
  0 siblings, 1 reply; 90+ messages in thread
From: David Miller @ 2009-06-30 14:19 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 28 Jun 2009 09:09:39 +0900

> 
> pcnet_cs:
> 
> (1) add new id (RIOS System PC CARD3 ETHERNET).
> 
> (2) add odd location support for write_asic function.
> 
> (3) change default setting of use_shmem to 0.
>     because shared memory does not work on some PC.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

These are three seperate changes, could you split this up
into three seperate patches?

Thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add new id
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
                   ` (2 preceding siblings ...)
  2009-06-28  0:09 ` [PATCH] pcnet_cs: add new id (RIOS System PC CARD3 ETHERNET) Ken Kawasaki
@ 2009-07-05  0:17 ` Ken Kawasaki
  2009-07-06  2:02   ` David Miller
  2009-07-05  0:19 ` [PATCH] pcnet_cs: add odd location support for write_asic function Ken Kawasaki
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-05  0:17 UTC (permalink / raw)
  To: netdev


add new id (RIOS System PC CARD3 ETHERNET).

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c.orig	2009-06-27 10:15:47.000000000 +0900
+++ linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-07-04 14:19:21.000000000 +0900
@@ -1727,6 +1727,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID12("PRETEC", "Ethernet CompactLAN 10BaseT 3.3V", 0xebf91155, 0x7f5a4f50),
 	PCMCIA_DEVICE_PROD_ID12("Psion Dacom", "Gold Card Ethernet", 0xf5f025c2, 0x3a30e110),
 	PCMCIA_DEVICE_PROD_ID12("=RELIA==", "Ethernet", 0xcdd0644a, 0x00b2e941),
+	PCMCIA_DEVICE_PROD_ID12("RIOS Systems Co.", "PC CARD3 ETHERNET", 0x7dd33481, 0x10b41826),
 	PCMCIA_DEVICE_PROD_ID12("RP", "1625B Ethernet NE2000 Compatible", 0xe3e66e22, 0xb96150df),
 	PCMCIA_DEVICE_PROD_ID12("RPTI", "EP400 Ethernet NE2000 Compatible", 0xdc6f88fd, 0x4a7e2ae0),
 	PCMCIA_DEVICE_PROD_ID12("RPTI", "EP401 Ethernet NE2000 Compatible", 0xdc6f88fd, 0x4bcbd7fd),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add odd location support for write_asic function
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
                   ` (3 preceding siblings ...)
  2009-07-05  0:17 ` Ken Kawasaki
@ 2009-07-05  0:19 ` Ken Kawasaki
  2009-07-08 12:09 ` Ken Kawasaki
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-05  0:19 UTC (permalink / raw)
  To: netdev



Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c.orig	2009-06-27 10:15:47.000000000 +0900
+++ linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-07-04 10:32:44.000000000 +0900
@@ -886,9 +886,10 @@ static void write_asic(unsigned int ioad
 		outb_p(EE_ASIC|EE_CS|EE_DI|dataval, ee_addr);
 	}
 	// sync
-	outb(EE_ASIC|EE_CS, ee_addr);
-	outb(EE_ASIC|EE_CS|EE_CK, ee_addr);
-	outb(EE_ASIC|EE_CS, ee_addr);
+	dataval = (location & 1) ? EE_DO : 0;
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval|EE_CK, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
 
 	for (i = 15; i >= 0; i--) {
 		dataval = (asic_data & (1 << i)) ? EE_ADOT : 0;

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] pcnet_cs: add new id
  2009-06-30 14:19   ` [PATCH] pcnet_cs: add new id David Miller
@ 2009-07-05  8:34     ` Ken Kawasaki
  0 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-05  8:34 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

On Tue, 30 Jun 2009 07:19:55 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> > (3) change default setting of use_shmem to 0.
> >     because shared memory does not work on some PC.

Sorry, I cancel the use_shmem patch. (for re-test).


Ken.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] pcnet_cs: add new id
  2009-07-05  0:17 ` Ken Kawasaki
@ 2009-07-06  2:02   ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-07-06  2:02 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 5 Jul 2009 09:17:10 +0900

> 
> add new id (RIOS System PC CARD3 ETHERNET).
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add odd location support for write_asic function
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
                   ` (4 preceding siblings ...)
  2009-07-05  0:19 ` [PATCH] pcnet_cs: add odd location support for write_asic function Ken Kawasaki
@ 2009-07-08 12:09 ` Ken Kawasaki
  2009-07-08 17:38   ` David Miller
  2009-07-11  0:02 ` Ken Kawasaki
  2009-07-19 23:08 ` [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset Ken Kawasaki
  7 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-08 12:09 UTC (permalink / raw)
  To: netdev



Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c.orig	2009-06-27 10:15:47.000000000 +0900
+++ linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-07-04 10:32:44.000000000 +0900
@@ -886,9 +886,10 @@ static void write_asic(unsigned int ioad
 		outb_p(EE_ASIC|EE_CS|EE_DI|dataval, ee_addr);
 	}
 	// sync
-	outb(EE_ASIC|EE_CS, ee_addr);
-	outb(EE_ASIC|EE_CS|EE_CK, ee_addr);
-	outb(EE_ASIC|EE_CS, ee_addr);
+	dataval = (location & 1) ? EE_DO : 0;
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval|EE_CK, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
 
 	for (i = 15; i >= 0; i--) {
 		dataval = (asic_data & (1 << i)) ? EE_ADOT : 0;

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] pcnet_cs: add odd location support for write_asic function
  2009-07-08 12:09 ` Ken Kawasaki
@ 2009-07-08 17:38   ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-07-08 17:38 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Wed, 8 Jul 2009 21:09:24 +0900

> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

This patch is already in the patchwork queue for networking:

	http://patchwork.ozlabs.org/patch/29462/

What is this odd address support actually needed for?  You
should have provided this information in the commit message.

That's why I haven't bothered applying the patch yet, I don't
even know what needs it.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add odd location support for write_asic function
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
                   ` (5 preceding siblings ...)
  2009-07-08 12:09 ` Ken Kawasaki
@ 2009-07-11  0:02 ` Ken Kawasaki
  2009-07-11  3:26   ` David Miller
  2009-07-19 23:08 ` [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset Ken Kawasaki
  7 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-11  0:02 UTC (permalink / raw)
  To: netdev


Currently, no one passes odd location to the write_asic function.
But this patch add odd location support for future usage of this
feature.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c.orig	2009-06-27 10:15:47.000000000 +0900
+++ linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-07-04 10:32:44.000000000 +0900
@@ -886,9 +886,10 @@ static void write_asic(unsigned int ioad
 		outb_p(EE_ASIC|EE_CS|EE_DI|dataval, ee_addr);
 	}
 	// sync
-	outb(EE_ASIC|EE_CS, ee_addr);
-	outb(EE_ASIC|EE_CS|EE_CK, ee_addr);
-	outb(EE_ASIC|EE_CS, ee_addr);
+	dataval = (location & 1) ? EE_DO : 0;
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval|EE_CK, ee_addr);
+	outb(EE_ASIC|EE_CS|dataval, ee_addr);
 
 	for (i = 15; i >= 0; i--) {
 		dataval = (asic_data & (1 << i)) ? EE_ADOT : 0;

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] pcnet_cs: add odd location support for write_asic function
  2009-07-11  0:02 ` Ken Kawasaki
@ 2009-07-11  3:26   ` David Miller
  2009-07-11 22:15     ` Ken Kawasaki
  0 siblings, 1 reply; 90+ messages in thread
From: David Miller @ 2009-07-11  3:26 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sat, 11 Jul 2009 09:02:13 +0900

> Currently, no one passes odd location to the write_asic function.
> But this patch add odd location support for future usage of this
> feature.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

"Who" in the future will use this feature and why do they
need it?

Ideally, you should submit this patch at the same time as
the other patch which adds a need for it.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] pcnet_cs: add odd location support for write_asic function
  2009-07-11  3:26   ` David Miller
@ 2009-07-11 22:15     ` Ken Kawasaki
  0 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-11 22:15 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

On Fri, 10 Jul 2009 20:26:09 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> 
> > Currently, no one passes odd location to the write_asic function.
> > But this patch add odd location support for future usage of this
> > feature.
> > 
> > 
> > Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
> 
> "Who" in the future will use this feature and why do they
> need it?
> 
> Ideally, you should submit this patch at the same time as
> the other patch which adds a need for it.

OK.
Thanks.



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset
  2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
                   ` (6 preceding siblings ...)
  2009-07-11  0:02 ` Ken Kawasaki
@ 2009-07-19 23:08 ` Ken Kawasaki
  2009-07-20 15:29   ` David Miller
  7 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-19 23:08 UTC (permalink / raw)
  To: netdev


3c589_cs: 
re-initialize the multicast in the tc589_reset,
and spin_lock the set_multicast_list function.  

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.31-rc3/drivers/net/pcmcia/3c589_cs.c.orig	2009-07-19 19:13:10.000000000 +0900
+++ linux-2.6.31-rc3/drivers/net/pcmcia/3c589_cs.c	2009-07-19 19:26:40.000000000 +0900
@@ -156,6 +156,7 @@ static struct net_device_stats *el3_get_
 static int el3_rx(struct net_device *dev);
 static int el3_close(struct net_device *dev);
 static void el3_tx_timeout(struct net_device *dev);
+static void set_rx_mode(struct net_device *dev);
 static void set_multicast_list(struct net_device *dev);
 static const struct ethtool_ops netdev_ethtool_ops;
 
@@ -488,8 +489,7 @@ static void tc589_reset(struct net_devic
     /* Switch to register set 1 for normal use. */
     EL3WINDOW(1);
 
-    /* Accept b-cast and phys addr only. */
-    outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD);
+    set_rx_mode(dev);
     outw(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */
     outw(RxEnable, ioaddr + EL3_CMD); /* Enable the receiver. */
     outw(TxEnable, ioaddr + EL3_CMD); /* Enable transmitter. */
@@ -700,7 +700,7 @@ static irqreturn_t el3_interrupt(int irq
 		if (fifo_diag & 0x2000) {
 		    /* Rx underrun */
 		    tc589_wait_for_completion(dev, RxReset);
-		    set_multicast_list(dev);
+    		    set_rx_mode(dev);
 		    outw(RxEnable, ioaddr + EL3_CMD);
 		}
 		outw(AckIntr | AdapterFailure, ioaddr + EL3_CMD);
@@ -905,14 +905,11 @@ static int el3_rx(struct net_device *dev
     return 0;
 }
 
-static void set_multicast_list(struct net_device *dev)
+static void set_rx_mode(struct net_device *dev)
 {
-    struct el3_private *lp = netdev_priv(dev);
-    struct pcmcia_device *link = lp->p_dev;
     unsigned int ioaddr = dev->base_addr;
     u16 opts = SetRxFilter | RxStation | RxBroadcast;
 
-    if (!pcmcia_dev_present(link)) return;
     if (dev->flags & IFF_PROMISC)
 	opts |= RxMulticast | RxProm;
     else if (dev->mc_count || (dev->flags & IFF_ALLMULTI))
@@ -920,6 +917,16 @@ static void set_multicast_list(struct ne
     outw(opts, ioaddr + EL3_CMD);
 }
 
+static void set_multicast_list(struct net_device *dev)
+{
+    struct el3_private *priv = netdev_priv(dev);
+    unsigned long flags;
+
+    spin_lock_irqsave(&priv->lock, flags);    
+    set_rx_mode(dev);
+    spin_unlock_irqrestore(&priv->lock, flags);    
+}
+
 static int el3_close(struct net_device *dev)
 {
     struct el3_private *lp = netdev_priv(dev);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset
  2009-07-19 23:08 ` [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset Ken Kawasaki
@ 2009-07-20 15:29   ` David Miller
  2009-07-22 12:23     ` Ken Kawasaki
  0 siblings, 1 reply; 90+ messages in thread
From: David Miller @ 2009-07-20 15:29 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Mon, 20 Jul 2009 08:08:12 +0900

> 
> 3c589_cs: 
> re-initialize the multicast in the tc589_reset,
> and spin_lock the set_multicast_list function.  
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, but you really need to fix your coding style.

I know perhaps you were trying to be consistent with the
rest of this driver, but when adding completely new code
the conventions of the rest of the kernel ought to be
followed, for example:

> +static void set_multicast_list(struct net_device *dev)
> +{
> +    struct el3_private *priv = netdev_priv(dev);
> +    unsigned long flags;
> +
> +    spin_lock_irqsave(&priv->lock, flags);    
> +    set_rx_mode(dev);
> +    spin_unlock_irqrestore(&priv->lock, flags);    
> +}

One tab should begin each statement in this function, and
spin_lock and spin_unlock lines had unnecessary trailing
whitespace.

I fixed all of this up when applying your patch, but I
absolutely will not do so next time.

Thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset
  2009-07-20 15:29   ` David Miller
@ 2009-07-22 12:23     ` Ken Kawasaki
  0 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-07-22 12:23 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

On Mon, 20 Jul 2009 08:29:06 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:


> > 3c589_cs: 
> > re-initialize the multicast in the tc589_reset,
> > and spin_lock the set_multicast_list function.  
> > 
> > Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
> 
> Applied, but you really need to fix your coding style.
> 
> I know perhaps you were trying to be consistent with the
> rest of this driver, but when adding completely new code
> the conventions of the rest of the kernel ought to be
> followed, for example:
> 
> > +static void set_multicast_list(struct net_device *dev)
> > +{
> > +    struct el3_private *priv = netdev_priv(dev);
> > +    unsigned long flags;
> > +
> > +    spin_lock_irqsave(&priv->lock, flags);    
> > +    set_rx_mode(dev);
> > +    spin_unlock_irqrestore(&priv->lock, flags);    
> > +}
> 
> One tab should begin each statement in this function, and
> spin_lock and spin_unlock lines had unnecessary trailing
> whitespace.
> 
> I fixed all of this up when applying your patch, but I
> absolutely will not do so next time.

OK.
Thanks!

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH] pcnet_cs: add cis of Linksys multifunction pcmcia card
  2009-04-26  7:29   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
  2009-04-26 13:33     ` Ben Hutchings
@ 2009-09-12 22:22     ` Ken Kawasaki
  2009-09-21  4:10       ` [PATCH kernel 2.6.31-git9] 3c574_cs: spin_lock the set_multicast_list function Ken Kawasaki
  2009-09-13  8:22     ` [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card Ken Kawasaki
  2 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-09-12 22:22 UTC (permalink / raw)
  To: netdev; +Cc: ken_kawasaki


pcnet_cs,serial_cs:
 
add cis of Linksys lan&modem mulitifunction pcmcia card
and some modem card(MT5634ZLX, RS-COM-2P).

  
Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
 
---
 
 drivers/net/pcmcia/pcnet_cs.c   |   10 +++++-----
 drivers/serial/serial_cs.c      |   14 +++++++-------
 firmware/Makefile               |    3 ++-
 firmware/WHENCE                 |   12 ++++++++++++
 firmware/cis/MT5634ZLX.cis.ihex |   11 +++++++++++
 firmware/cis/PCMLM28.cis.ihex   |   18 ++++++++++++++++++
 firmware/cis/RS-COM-2P.cis.ihex |   10 ++++++++++
 7 files changed, 65 insertions(+), 13 deletions(-)

diff -uprN linux-2.6.31.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.31/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.31.orig/drivers/net/pcmcia/pcnet_cs.c	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/drivers/net/pcmcia/pcnet_cs.c	2009-09-12 19:59:57.000000000 +0900
@@ -1751,11 +1751,11 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID2("EN-6200P2", 0xa996d078),
 	/* too generic! */
 	/* PCMCIA_DEVICE_PROD_ID12("PCMCIA", "10/100 Ethernet Card", 0x281f1c5d, 0x11b0ffc0), */
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "DP83903.cis"),
diff -uprN linux-2.6.31.orig/drivers/serial/serial_cs.c linux-2.6.31/drivers/serial/serial_cs.c
--- linux-2.6.31.orig/drivers/serial/serial_cs.c	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/drivers/serial/serial_cs.c	2009-09-12 20:02:33.000000000 +0900
@@ -868,11 +868,11 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_PROD_ID12("PCMCIA   ", "C336MX     ", 0x99bcafe9, 0xaa25bcab),
 	PCMCIA_DEVICE_PROD_ID12("Quatech Inc", "PCMCIA Dual RS-232 Serial Port Card", 0xc4420b35, 0x92abc92f),
 	PCMCIA_DEVICE_PROD_ID12("Quatech Inc", "Dual RS-232 Serial Port PC Card", 0xc4420b35, 0x031a380d),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
@@ -883,10 +883,10 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
-	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "MT5634ZLX.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "cis/MT5634ZLX.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "COMpad2.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "RS-COM-2P.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "cis/RS-COM-2P.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "GLOBETROTTER.cis"),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100  1.00.",0x19ca78af,0xf964f42b),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100",0x19ca78af,0x71d98e83),
diff -uprN linux-2.6.31.orig/firmware/cis/MT5634ZLX.cis.ihex linux-2.6.31/firmware/cis/MT5634ZLX.cis.ihex
--- linux-2.6.31.orig/firmware/cis/MT5634ZLX.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.31/firmware/cis/MT5634ZLX.cis.ihex	2009-09-12 19:58:04.000000000 +0900
@@ -0,0 +1,11 @@
+:100000000101FF152204014D756C74695465636824
+:100010000050434D4349412035364B2044617461C3
+:10002000466178000000FF20040002010021020266
+:10003000001A05012780FF671B0FCF418B01550177
+:10004000550155AA60F80307281B08970108AA6004
+:10005000F802071B089F0108AA60E803071B08A70E
+:0B0060000108AA60E802071400FF007E
+:00000001FF
+#
+# Replacement CIS for Multitech MT5634ZLX modems
+#
diff -uprN linux-2.6.31.orig/firmware/cis/PCMLM28.cis.ihex linux-2.6.31/firmware/cis/PCMLM28.cis.ihex
--- linux-2.6.31.orig/firmware/cis/PCMLM28.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.31/firmware/cis/PCMLM28.cis.ihex	2009-09-12 19:57:29.000000000 +0900
@@ -0,0 +1,18 @@
+:1000000001030000FF151504014C494E4B53595391
+:100010000050434D4C4D3238000000FF2004430196
+:10002000ABC0210200001A05012FF803031B10E4E6
+:1000300001190155E06100031FF8020730FFFF1BA3
+:100040000BA50108E06120031FF802071B0BA601A6
+:1000500008E06140031FF802071B0BA70108E061DD
+:1000600060031FF802071B0BA80108E06100031FD3
+:10007000E803071B0BA90108E06120031FE8030741
+:100080001B0BAA0108E06140031FE803071B0BAB31
+:100090000108E06160031FE803071B0BAC0108E0E7
+:1000A0006100031FE802071B0BAD0108E06120039C
+:1000B0001FE802071B0BAE0108E06140031FE802C6
+:1000C000071B0BAF0108E06160031FE80207140083
+:0200D000FF002F
+:00000001FF
+#
+# The on-card CIS says it is MFC-compliant, but it is not
+#
diff -uprN linux-2.6.31.orig/firmware/cis/RS-COM-2P.cis.ihex linux-2.6.31/firmware/cis/RS-COM-2P.cis.ihex
--- linux-2.6.31.orig/firmware/cis/RS-COM-2P.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.31/firmware/cis/RS-COM-2P.cis.ihex	2009-09-12 19:58:12.000000000 +0900
@@ -0,0 +1,10 @@
+:1000000001030000FF1516040150434D4349410010
+:1000100052532D434F4D203250000000FF21020269
+:10002000011A0501030001011B0EC18118AA61E834
+:100030000307E8020730B89E1B0B820108AA615033
+:1000400002075802071B0B830108AA6160020768B8
+:0600500002071400FF008E
+:00000001FF
+#
+# Replacement CIS for dual-serial-port IO card
+#
diff -uprN linux-2.6.31.orig/firmware/Makefile linux-2.6.31/firmware/Makefile
--- linux-2.6.31.orig/firmware/Makefile	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/firmware/Makefile	2009-09-12 20:12:11.000000000 +0900
@@ -47,9 +47,10 @@ fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) +=
 fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
 			     e100/d102e_ucode.bin
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
-fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis
+fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
+fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.31.orig/firmware/WHENCE linux-2.6.31/firmware/WHENCE
--- linux-2.6.31.orig/firmware/WHENCE	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/firmware/WHENCE	2009-09-12 20:09:40.000000000 +0900
@@ -579,6 +579,7 @@ Found in hex form in kernel source.
 Driver: PCMCIA_PCNET - NE2000 compatible PCMCIA adapter
 
 File: cis/LA-PCM.cis
+      cis/PCMLM28.cis
 
 Licence: GPL
 
@@ -606,6 +607,17 @@ Originally developed by the pcmcia-cs pr
 
 --------------------------------------------------------------------------
 
+Driver: SERIAL_8250_CS - Serial PCMCIA adapter
+
+File: cis/MT5634ZLX.cis
+      cis/RS-COM-2P.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
 
 File: ositech/Xilinx7OD.bin


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card
  2009-04-26  7:29   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
  2009-04-26 13:33     ` Ben Hutchings
  2009-09-12 22:22     ` [PATCH] pcnet_cs: add cis of Linksys " Ken Kawasaki
@ 2009-09-13  8:22     ` Ken Kawasaki
  2009-09-15  9:42       ` David Miller
                         ` (2 more replies)
  2 siblings, 3 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-09-13  8:22 UTC (permalink / raw)
  To: netdev; +Cc: ken_kawasaki


pcnet_cs,serial_cs:
 
add cis of Linksys lan&modem mulitifunction pcmcia card
and some modem card(MT5634ZLX, RS-COM-2P).

  
Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
 
---

for kernel 2.6.31 

 drivers/net/pcmcia/pcnet_cs.c   |   10 +++++-----
 drivers/serial/serial_cs.c      |   14 +++++++-------
 firmware/Makefile               |    3 ++-
 firmware/WHENCE                 |   12 ++++++++++++
 firmware/cis/MT5634ZLX.cis.ihex |   11 +++++++++++
 firmware/cis/PCMLM28.cis.ihex   |   18 ++++++++++++++++++
 firmware/cis/RS-COM-2P.cis.ihex |   10 ++++++++++
 7 files changed, 65 insertions(+), 13 deletions(-)

diff -uprN linux-2.6.31.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.31/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.31.orig/drivers/net/pcmcia/pcnet_cs.c	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/drivers/net/pcmcia/pcnet_cs.c	2009-09-12 19:59:57.000000000 +0900
@@ -1751,11 +1751,11 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID2("EN-6200P2", 0xa996d078),
 	/* too generic! */
 	/* PCMCIA_DEVICE_PROD_ID12("PCMCIA", "10/100 Ethernet Card", 0x281f1c5d, 0x11b0ffc0), */
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "DP83903.cis"),
diff -uprN linux-2.6.31.orig/drivers/serial/serial_cs.c linux-2.6.31/drivers/serial/serial_cs.c
--- linux-2.6.31.orig/drivers/serial/serial_cs.c	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/drivers/serial/serial_cs.c	2009-09-12 20:02:33.000000000 +0900
@@ -868,11 +868,11 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_PROD_ID12("PCMCIA   ", "C336MX     ", 0x99bcafe9, 0xaa25bcab),
 	PCMCIA_DEVICE_PROD_ID12("Quatech Inc", "PCMCIA Dual RS-232 Serial Port Card", 0xc4420b35, 0x92abc92f),
 	PCMCIA_DEVICE_PROD_ID12("Quatech Inc", "Dual RS-232 Serial Port PC Card", 0xc4420b35, 0x031a380d),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "PCMLM28.cis"),
-	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "EN2218-LAN/MODEM", 0x281f1c5d, 0x570f348e, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "PCMCIA", "UE2218-LAN/MODEM", 0x281f1c5d, 0x6fdcacee, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
@@ -883,10 +883,10 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
-	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "MT5634ZLX.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "cis/MT5634ZLX.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "COMpad2.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "RS-COM-2P.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "cis/RS-COM-2P.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "GLOBETROTTER.cis"),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100  1.00.",0x19ca78af,0xf964f42b),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100",0x19ca78af,0x71d98e83),
diff -uprN linux-2.6.31.orig/firmware/cis/MT5634ZLX.cis.ihex linux-2.6.31/firmware/cis/MT5634ZLX.cis.ihex
--- linux-2.6.31.orig/firmware/cis/MT5634ZLX.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.31/firmware/cis/MT5634ZLX.cis.ihex	2009-09-12 19:58:04.000000000 +0900
@@ -0,0 +1,11 @@
+:100000000101FF152204014D756C74695465636824
+:100010000050434D4349412035364B2044617461C3
+:10002000466178000000FF20040002010021020266
+:10003000001A05012780FF671B0FCF418B01550177
+:10004000550155AA60F80307281B08970108AA6004
+:10005000F802071B089F0108AA60E803071B08A70E
+:0B0060000108AA60E802071400FF007E
+:00000001FF
+#
+# Replacement CIS for Multitech MT5634ZLX modems
+#
diff -uprN linux-2.6.31.orig/firmware/cis/PCMLM28.cis.ihex linux-2.6.31/firmware/cis/PCMLM28.cis.ihex
--- linux-2.6.31.orig/firmware/cis/PCMLM28.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.31/firmware/cis/PCMLM28.cis.ihex	2009-09-12 19:57:29.000000000 +0900
@@ -0,0 +1,18 @@
+:1000000001030000FF151504014C494E4B53595391
+:100010000050434D4C4D3238000000FF2004430196
+:10002000ABC0210200001A05012FF803031B10E4E6
+:1000300001190155E06100031FF8020730FFFF1BA3
+:100040000BA50108E06120031FF802071B0BA601A6
+:1000500008E06140031FF802071B0BA70108E061DD
+:1000600060031FF802071B0BA80108E06100031FD3
+:10007000E803071B0BA90108E06120031FE8030741
+:100080001B0BAA0108E06140031FE803071B0BAB31
+:100090000108E06160031FE803071B0BAC0108E0E7
+:1000A0006100031FE802071B0BAD0108E06120039C
+:1000B0001FE802071B0BAE0108E06140031FE802C6
+:1000C000071B0BAF0108E06160031FE80207140083
+:0200D000FF002F
+:00000001FF
+#
+# The on-card CIS says it is MFC-compliant, but it is not
+#
diff -uprN linux-2.6.31.orig/firmware/cis/RS-COM-2P.cis.ihex linux-2.6.31/firmware/cis/RS-COM-2P.cis.ihex
--- linux-2.6.31.orig/firmware/cis/RS-COM-2P.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.31/firmware/cis/RS-COM-2P.cis.ihex	2009-09-12 19:58:12.000000000 +0900
@@ -0,0 +1,10 @@
+:1000000001030000FF1516040150434D4349410010
+:1000100052532D434F4D203250000000FF21020269
+:10002000011A0501030001011B0EC18118AA61E834
+:100030000307E8020730B89E1B0B820108AA615033
+:1000400002075802071B0B830108AA6160020768B8
+:0600500002071400FF008E
+:00000001FF
+#
+# Replacement CIS for dual-serial-port IO card
+#
diff -uprN linux-2.6.31.orig/firmware/Makefile linux-2.6.31/firmware/Makefile
--- linux-2.6.31.orig/firmware/Makefile	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/firmware/Makefile	2009-09-12 20:12:11.000000000 +0900
@@ -47,9 +47,10 @@ fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) +=
 fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
 			     e100/d102e_ucode.bin
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
-fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis
+fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
+fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.31.orig/firmware/WHENCE linux-2.6.31/firmware/WHENCE
--- linux-2.6.31.orig/firmware/WHENCE	2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/firmware/WHENCE	2009-09-12 20:09:40.000000000 +0900
@@ -579,6 +579,7 @@ Found in hex form in kernel source.
 Driver: PCMCIA_PCNET - NE2000 compatible PCMCIA adapter
 
 File: cis/LA-PCM.cis
+      cis/PCMLM28.cis
 
 Licence: GPL
 
@@ -606,6 +607,17 @@ Originally developed by the pcmcia-cs pr
 
 --------------------------------------------------------------------------
 
+Driver: SERIAL_8250_CS - Serial PCMCIA adapter
+
+File: cis/MT5634ZLX.cis
+      cis/RS-COM-2P.cis
+
+Licence: GPL
+
+Originally developed by the pcmcia-cs project
+
+--------------------------------------------------------------------------
+
 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
 
 File: ositech/Xilinx7OD.bin


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card
  2009-09-13  8:22     ` [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card Ken Kawasaki
@ 2009-09-15  9:42       ` David Miller
  2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
  2009-12-13  0:44       ` [PATCH kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt Ken Kawasaki
  2 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-09-15  9:42 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 13 Sep 2009 17:22:57 +0900

> 
> pcnet_cs,serial_cs:
>  
> add cis of Linksys lan&modem mulitifunction pcmcia card
> and some modem card(MT5634ZLX, RS-COM-2P).
> 
>   
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.31-git9] 3c574_cs: spin_lock the set_multicast_list function
  2009-09-12 22:22     ` [PATCH] pcnet_cs: add cis of Linksys " Ken Kawasaki
@ 2009-09-21  4:10       ` Ken Kawasaki
  0 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-09-21  4:10 UTC (permalink / raw)
  To: netdev


3c574_cs:
 spin_lock the set_multicast_list,
 and clean up the set_rx_mode function.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---
  
--- linux-2.6.31-git9.orig/drivers/net/pcmcia/3c574_cs.c	2009-09-20 06:53:31.000000000 +0900
+++ linux-2.6.31-git9/drivers/net/pcmcia/3c574_cs.c	2009-09-20 07:03:39.000000000 +0900
@@ -251,6 +251,7 @@ static void el3_tx_timeout(struct net_de
 static int el3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
 static const struct ethtool_ops netdev_ethtool_ops;
 static void set_rx_mode(struct net_device *dev);
+static void set_multicast_list(struct net_device *dev);
 
 static void tc574_detach(struct pcmcia_device *p_dev);
 
@@ -266,7 +267,7 @@ static const struct net_device_ops el3_n
 	.ndo_tx_timeout 	= el3_tx_timeout,
 	.ndo_get_stats		= el3_get_stats,
 	.ndo_do_ioctl		= el3_ioctl,
-	.ndo_set_multicast_list = set_rx_mode,
+	.ndo_set_multicast_list = set_multicast_list,
 	.ndo_change_mtu		= eth_change_mtu,
 	.ndo_set_mac_address 	= eth_mac_addr,
 	.ndo_validate_addr	= eth_validate_addr,
@@ -1153,12 +1154,23 @@ static void set_rx_mode(struct net_devic
 	unsigned int ioaddr = dev->base_addr;
 
 	if (dev->flags & IFF_PROMISC)
-		outw(SetRxFilter | RxStation | RxMulticast | RxBroadcast | RxProm,
-			 ioaddr + EL3_CMD);
+		outw(SetRxFilter|RxStation|RxMulticast|RxBroadcast|RxProm,
+			ioaddr + EL3_CMD);
 	else if (dev->mc_count || (dev->flags & IFF_ALLMULTI))
-		outw(SetRxFilter|RxStation|RxMulticast|RxBroadcast, ioaddr + EL3_CMD);
+		outw(SetRxFilter|RxStation|RxMulticast|RxBroadcast,
+			ioaddr + EL3_CMD);
 	else
-		outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD);
+		outw(SetRxFilter|RxStation|RxBroadcast, ioaddr + EL3_CMD);
+}
+
+static void set_multicast_list(struct net_device *dev)
+{
+	struct el3_private *lp = netdev_priv(dev);
+	unsigned long flags;
+
+	spin_lock_irqsave(&lp->window_lock, flags);
+	set_rx_mode(dev);
+	spin_unlock_irqrestore(&lp->window_lock, flags);
 }
 
 static int el3_close(struct net_device *dev)

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's multifunction pcmcia card
  2009-09-13  8:22     ` [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card Ken Kawasaki
  2009-09-15  9:42       ` David Miller
@ 2009-10-03 22:32       ` Ken Kawasaki
  2009-10-05  7:40         ` David Miller
                           ` (3 more replies)
  2009-12-13  0:44       ` [PATCH kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt Ken Kawasaki
  2 siblings, 4 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-10-03 22:32 UTC (permalink / raw)
  To: netdev; +Cc: ken_kawasaki


pcnet_cs,serial_cs:
  
add cis of National Semicondoctor's lan&modem mulitifunction pcmcia card,
NE2K, tamarack ethernet card,
and some serial card(COMpad2, COMpad4).

   
Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

 drivers/net/pcmcia/pcnet_cs.c  |   10 +++++-----
 drivers/serial/serial_cs.c     |   12 ++++++------
 firmware/Makefile              |    7 +++++--
 firmware/WHENCE                |    5 +++++
 firmware/cis/COMpad2.cis.ihex  |   11 +++++++++++
 firmware/cis/COMpad4.cis.ihex  |    9 +++++++++
 firmware/cis/DP83903.cis.ihex  |   14 ++++++++++++++
 firmware/cis/NE2K.cis.ihex     |    8 ++++++++
 firmware/cis/tamarack.cis.ihex |   10 ++++++++++
 9 files changed, 73 insertions(+), 13 deletions(-)

diff -uprN linux-2.6.32-rc1.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.32-rc1/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.32-rc1.orig/drivers/net/pcmcia/pcnet_cs.c	2009-10-03 10:52:41.000000000 +0900
+++ linux-2.6.32-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-10-03 11:13:10.000000000 +0900
@@ -1754,14 +1754,14 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
-	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "DP83903.cis"),
+	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "cis/DP83903.cis"),
+	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "cis/DP83903.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "NE2K.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "cis/tamarack.cis"),
 	PCMCIA_DEVICE_PROD_ID12("Ethernet", "CF Size PC Card", 0x00b2e941, 0x43ac239b),
 	PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
 		0xb4be14e3, 0x43ac239b, 0x0877b627),
diff -uprN linux-2.6.32-rc1.orig/drivers/serial/serial_cs.c linux-2.6.32-rc1/drivers/serial/serial_cs.c
--- linux-2.6.32-rc1.orig/drivers/serial/serial_cs.c	2009-10-03 10:52:42.000000000 +0900
+++ linux-2.6.32-rc1/drivers/serial/serial_cs.c	2009-10-03 11:12:46.000000000 +0900
@@ -873,10 +873,10 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
-	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "DP83903.cis"),
-	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "DP83903.cis"),
+	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "cis/DP83903.cis"),
+	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "cis/3CCFEM556.cis"),
-	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "DP83903.cis"),
+	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "SW_8xx_SER.cis"),  /* Sierra Wireless AC850 3G Network Adapter R1 */
@@ -884,9 +884,9 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
 	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "cis/MT5634ZLX.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-2", 0x96913a85, 0x27ab5437, "COMpad2.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "COMpad4.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "COMpad2.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-2", 0x96913a85, 0x27ab5437, "cis/COMpad2.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "cis/COMpad4.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "cis/COMpad2.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "cis/RS-COM-2P.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "GLOBETROTTER.cis"),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100  1.00.",0x19ca78af,0xf964f42b),
diff -uprN linux-2.6.32-rc1.orig/firmware/Makefile linux-2.6.32-rc1/firmware/Makefile
--- linux-2.6.32-rc1.orig/firmware/Makefile	2009-10-03 10:52:43.000000000 +0900
+++ linux-2.6.32-rc1/firmware/Makefile	2009-10-03 11:03:01.000000000 +0900
@@ -67,10 +67,13 @@ fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) +=
 fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
 			     e100/d102e_ucode.bin
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
-fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis
+fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
+				     cis/DP83903.cis cis/NE2K.cis \
+				     cis/tamarack.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
-fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis
+fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
+				       cis/COMpad2.cis cis/COMpad4.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.32-rc1.orig/firmware/WHENCE linux-2.6.32-rc1/firmware/WHENCE
--- linux-2.6.32-rc1.orig/firmware/WHENCE	2009-10-03 10:52:43.000000000 +0900
+++ linux-2.6.32-rc1/firmware/WHENCE	2009-10-03 11:06:04.000000000 +0900
@@ -597,6 +597,9 @@ Driver: PCMCIA_PCNET - NE2000 compatible
 
 File: cis/LA-PCM.cis
       cis/PCMLM28.cis
+      cis/DP83903.cis
+      cis/NE2K.cis
+      cis/tamarack.cis
 
 Licence: GPL
 
@@ -628,6 +631,8 @@ Driver: SERIAL_8250_CS - Serial PCMCIA a
 
 File: cis/MT5634ZLX.cis
       cis/RS-COM-2P.cis
+      cis/COMpad2.cis
+      cis/COMpad4.cis
 
 Licence: GPL
 
diff -uprN linux-2.6.32-rc1.orig/firmware/cis/COMpad2.cis.ihex linux-2.6.32-rc1/firmware/cis/COMpad2.cis.ihex
--- linux-2.6.32-rc1.orig/firmware/cis/COMpad2.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc1/firmware/cis/COMpad2.cis.ihex	2009-10-03 10:56:23.000000000 +0900
@@ -0,0 +1,11 @@
+:1000000001030000FF151F0401414456414E5445B1
+:10001000434800434F4D7061642D33322F38350013
+:10002000312E300000FF210202011A0501050001F6
+:10003000031B0EC18118AA61E80207E8030730B864
+:100040009E1B08820108AA6030030F1B0883010869
+:10005000AA6040030F1B08840108AA6050030F1B0D
+:0D00600008850108AA6060030F1400FF006E
+:00000001FF
+#
+# Replacement CIS for Advantech COMpad-32/85
+#
diff -uprN linux-2.6.32-rc1.orig/firmware/cis/COMpad4.cis.ihex linux-2.6.32-rc1/firmware/cis/COMpad4.cis.ihex
--- linux-2.6.32-rc1.orig/firmware/cis/COMpad4.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc1/firmware/cis/COMpad4.cis.ihex	2009-10-03 10:56:33.000000000 +0900
@@ -0,0 +1,9 @@
+:1000000001030000FF151F0401414456414E5445B1
+:10001000434800434F4D7061642D33322F383542D1
+:100020002D34000000FF210202011A050102000127
+:10003000011B0BC18118AA6040021F30B89E1B082B
+:0C004000820108AA6040031F1400FF00AA
+:00000001FF
+#
+# Replacement CIS for Advantech COMpad-32/85B-4
+#
diff -uprN linux-2.6.32-rc1.orig/firmware/cis/DP83903.cis.ihex linux-2.6.32-rc1/firmware/cis/DP83903.cis.ihex
--- linux-2.6.32-rc1.orig/firmware/cis/DP83903.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc1/firmware/cis/DP83903.cis.ihex	2009-10-03 10:56:11.000000000 +0900
@@ -0,0 +1,14 @@
+:1000000001030000FF152904014D756C74696675C4
+:100010006E6374696F6E20436172640000004E531A
+:1000200043204D46204C414E2F4D6F64656D00FFBF
+:1000300020047501000021020000060B02004900A7
+:100040000000006A000000FF00130343495321022F
+:1000500006001A060517201077021B0C970179017C
+:10006000556530FFFF284000FF001303434953212B
+:100070000202001A060507401077021B09870119C2
+:0800800001552330FFFFFF00D2
+:00000001FF
+#
+# This CIS is for cards based on the National Semiconductor
+# DP83903 Multiple Function Interface Chip
+#
diff -uprN linux-2.6.32-rc1.orig/firmware/cis/NE2K.cis.ihex linux-2.6.32-rc1/firmware/cis/NE2K.cis.ihex
--- linux-2.6.32-rc1.orig/firmware/cis/NE2K.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc1/firmware/cis/NE2K.cis.ihex	2009-10-03 10:57:26.000000000 +0900
@@ -0,0 +1,8 @@
+:1000000001030000FF1515040150434D4349410011
+:1000100045746865726E6574000000FF2102060079
+:100020001A050120F803031B09E001190155653089
+:06003000FFFF1400FF00B9
+:00000001FF
+#
+# Replacement CIS for various busted NE2000-compatible cards
+#
diff -uprN linux-2.6.32-rc1.orig/firmware/cis/tamarack.cis.ihex linux-2.6.32-rc1/firmware/cis/tamarack.cis.ihex
--- linux-2.6.32-rc1.orig/firmware/cis/tamarack.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc1/firmware/cis/tamarack.cis.ihex	2009-10-03 10:57:33.000000000 +0900
@@ -0,0 +1,10 @@
+:100000000103D400FF17034100FF152404015441EC
+:100010004D415241434B0045746865726E657400F2
+:10002000410030303437343331313830303100FF33
+:10003000210206001A050120F803031B14E08119B0
+:100040003F554D5D06864626E551000F100F30FFE7
+:05005000FF1400FF0099
+:00000001FF
+#
+# Replacement CIS for Surecom, Tamarack NE2000 cards
+#

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's multifunction pcmcia card
  2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
@ 2009-10-05  7:40         ` David Miller
  2009-10-11 12:12         ` [PATCH kernel 2.6.32-rc3] 3c574_cs: spin_lock the set_multicast_list function Ken Kawasaki
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-10-05  7:40 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 4 Oct 2009 07:32:57 +0900

> 
> pcnet_cs,serial_cs:
>   
> add cis of National Semicondoctor's lan&modem mulitifunction pcmcia card,
> NE2K, tamarack ethernet card,
> and some serial card(COMpad2, COMpad4).
> 
>    
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.32-rc3] 3c574_cs: spin_lock the set_multicast_list function
  2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
  2009-10-05  7:40         ` David Miller
@ 2009-10-11 12:12         ` Ken Kawasaki
  2009-10-13  7:33           ` David Miller
  2009-10-18  1:39         ` [PATCH kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card Ken Kawasaki
  2009-12-21 11:58         ` [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
  3 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-10-11 12:12 UTC (permalink / raw)
  To: netdev


3c574_cs:
 spin_lock the set_multicast_list function.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

3c574_cs.c |   13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

--- linux-2.6.32-rc3/drivers/net/pcmcia/3c574_cs.c.orig	2009-10-10 15:08:05.000000000 +0900
+++ linux-2.6.32-rc3/drivers/net/pcmcia/3c574_cs.c	2009-10-10 15:10:27.000000000 +0900
@@ -251,6 +251,7 @@ static void el3_tx_timeout(struct net_de
 static int el3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
 static const struct ethtool_ops netdev_ethtool_ops;
 static void set_rx_mode(struct net_device *dev);
+static void set_multicast_list(struct net_device *dev);
 
 static void tc574_detach(struct pcmcia_device *p_dev);
 
@@ -266,7 +267,7 @@ static const struct net_device_ops el3_n
 	.ndo_tx_timeout 	= el3_tx_timeout,
 	.ndo_get_stats		= el3_get_stats,
 	.ndo_do_ioctl		= el3_ioctl,
-	.ndo_set_multicast_list = set_rx_mode,
+	.ndo_set_multicast_list = set_multicast_list,
 	.ndo_change_mtu		= eth_change_mtu,
 	.ndo_set_mac_address 	= eth_mac_addr,
 	.ndo_validate_addr	= eth_validate_addr,
@@ -1161,6 +1162,16 @@ static void set_rx_mode(struct net_devic
 		outw(SetRxFilter | RxStation | RxBroadcast, ioaddr + EL3_CMD);
 }
 
+static void set_multicast_list(struct net_device *dev)
+{
+	struct el3_private *lp = netdev_priv(dev);
+	unsigned long flags;
+
+	spin_lock_irqsave(&lp->window_lock, flags);
+	set_rx_mode(dev);
+	spin_unlock_irqrestore(&lp->window_lock, flags);
+}
+
 static int el3_close(struct net_device *dev)
 {
 	unsigned int ioaddr = dev->base_addr;

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.32-rc3] 3c574_cs: spin_lock the set_multicast_list function
  2009-10-11 12:12         ` [PATCH kernel 2.6.32-rc3] 3c574_cs: spin_lock the set_multicast_list function Ken Kawasaki
@ 2009-10-13  7:33           ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2009-10-13  7:33 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 11 Oct 2009 21:12:25 +0900

> 3c574_cs:
>  spin_lock the set_multicast_list function.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks!


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
  2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
  2009-10-05  7:40         ` David Miller
  2009-10-11 12:12         ` [PATCH kernel 2.6.32-rc3] 3c574_cs: spin_lock the set_multicast_list function Ken Kawasaki
@ 2009-10-18  1:39         ` Ken Kawasaki
  2009-10-21 19:18           ` Dan Williams
  2009-10-30  5:51           ` David Miller
  2009-12-21 11:58         ` [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
  3 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-10-18  1:39 UTC (permalink / raw)
  To: netdev


pcnet_cs,serial_cs:

add cis of PreMax ethernet pcmcia card,
and some Sierra Wireless serial card(AC555, AC7xx, AC8xx).

use PROD_ID for AC7xx, because MANF_ID of AC7xx and AC8xx are the same.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

 drivers/net/pcmcia/pcnet_cs.c    |    2 +-
 drivers/serial/serial_cs.c       |    8 ++++----
 firmware/Makefile                |    6 ++++--
 firmware/WHENCE                  |    4 ++++
 firmware/cis/PE-200.cis.ihex     |    9 +++++++++
 firmware/cis/SW_555_SER.cis.ihex |   12 ++++++++++++
 firmware/cis/SW_7xx_SER.cis.ihex |   13 +++++++++++++
 firmware/cis/SW_8xx_SER.cis.ihex |   13 +++++++++++++
 8 files changed, 60 insertions(+), 7 deletions(-)

diff -urpN linux-2.6.32-rc5.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.32-rc5/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.32-rc5.orig/drivers/net/pcmcia/pcnet_cs.c	2009-10-17 15:53:44.000000000 +0900
+++ linux-2.6.32-rc5/drivers/net/pcmcia/pcnet_cs.c	2009-10-17 16:07:12.000000000 +0900
@@ -1760,7 +1760,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "cis/PE-200.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "cis/tamarack.cis"),
 	PCMCIA_DEVICE_PROD_ID12("Ethernet", "CF Size PC Card", 0x00b2e941, 0x43ac239b),
 	PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
diff -urpN linux-2.6.32-rc5.orig/drivers/serial/serial_cs.c linux-2.6.32-rc5/drivers/serial/serial_cs.c
--- linux-2.6.32-rc5.orig/drivers/serial/serial_cs.c	2009-10-17 15:53:45.000000000 +0900
+++ linux-2.6.32-rc5/drivers/serial/serial_cs.c	2009-10-17 16:02:50.000000000 +0900
@@ -879,10 +879,10 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "SW_8xx_SER.cis"),  /* Sierra Wireless AC850 3G Network Adapter R1 */
-	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
-	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
-	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC850 3G Network Adapter R1 */
+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC710/AC750", 0xd85f6206, 0x761b11e0, "cis/SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
 	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "cis/MT5634ZLX.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-2", 0x96913a85, 0x27ab5437, "cis/COMpad2.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "cis/COMpad4.cis"),
diff -urpN linux-2.6.32-rc5.orig/firmware/cis/PE-200.cis.ihex linux-2.6.32-rc5/firmware/cis/PE-200.cis.ihex
--- linux-2.6.32-rc5.orig/firmware/cis/PE-200.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc5/firmware/cis/PE-200.cis.ihex	2009-10-17 16:13:21.000000000 +0900
@@ -0,0 +1,9 @@
+:1000000001030000FF151E0401504D582020200060
+:1000100050452D3230300045544845524E4554002D
+:1000200052303100FF210206031A050101000101CF
+:100030001B0EC181190155E051000F100F30FFFF59
+:040040001400FF00A9
+:00000001FF
+#
+# Replacement CIS for PE-200 ethernet card
+#
diff -urpN linux-2.6.32-rc5.orig/firmware/cis/SW_555_SER.cis.ihex linux-2.6.32-rc5/firmware/cis/SW_555_SER.cis.ihex
--- linux-2.6.32-rc5.orig/firmware/cis/SW_555_SER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc5/firmware/cis/SW_555_SER.cis.ihex	2009-10-17 16:12:47.000000000 +0900
@@ -0,0 +1,12 @@
+:100000000101FF17034100FF20043F0110072102F7
+:100010000200152A070053696572726120576972E0
+:10002000656C657373004169724361726420353594
+:1000300035004135353500526576203100FF1A050F
+:1000400001030007731B0BE00118A360F8030730DE
+:10005000BC3F1B08A10108A360F802071B08A2010E
+:1000600008A360E803071B08A30108A360E80207D0
+:0A0070001B04A40108231400FF0084
+:00000001FF
+#
+# Replacement CIS for AC555 provided by Sierra Wireless
+#
diff -urpN linux-2.6.32-rc5.orig/firmware/cis/SW_7xx_SER.cis.ihex linux-2.6.32-rc5/firmware/cis/SW_7xx_SER.cis.ihex
--- linux-2.6.32-rc5.orig/firmware/cis/SW_7xx_SER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc5/firmware/cis/SW_7xx_SER.cis.ihex	2009-10-17 16:12:47.000000000 +0900
@@ -0,0 +1,13 @@
+:100000000101FF17034100FF2004920110072102A4
+:1000100002001537070053696572726120576972D3
+:10002000656C6573730041433731302F4143373579
+:10003000300047505253204E6574776F726B2041E9
+:1000400064617074657200523100FF1A050103008B
+:1000500007731B10E00119784D555D25A360F80367
+:100060000730BC861B08A10108A360F802071B0823
+:10007000A20108A360E803071B08A30108A360E826
+:0C00800002071B04A40108231400FF0069
+:00000001FF
+#
+# Replacement CIS for AC7xx provided by Sierra Wireless
+#
diff -urpN linux-2.6.32-rc5.orig/firmware/cis/SW_8xx_SER.cis.ihex linux-2.6.32-rc5/firmware/cis/SW_8xx_SER.cis.ihex
--- linux-2.6.32-rc5.orig/firmware/cis/SW_8xx_SER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.32-rc5/firmware/cis/SW_8xx_SER.cis.ihex	2009-10-17 16:12:47.000000000 +0900
@@ -0,0 +1,13 @@
+:100000000101FF17034100FF2004920110072102A4
+:100010000200152F070053696572726120576972DB
+:10002000656C657373004143383530003347204EAB
+:100030006574776F726B20416461707465720052F1
+:100040003100FF1A0501030007731B10E001197846
+:100050004D555D25A360F8480730BC861B08A101FB
+:1000600008A360F847071B08A20108A360E8480737
+:100070001B08A30108A360E847071B04A401082389
+:040080001400FF0069
+:00000001FF
+#
+# Replacement CIS for AC8xx provided by Sierra Wireless
+#
diff -urpN linux-2.6.32-rc5.orig/firmware/Makefile linux-2.6.32-rc5/firmware/Makefile
--- linux-2.6.32-rc5.orig/firmware/Makefile	2009-10-17 15:53:52.000000000 +0900
+++ linux-2.6.32-rc5/firmware/Makefile	2009-10-17 16:12:21.000000000 +0900
@@ -69,11 +69,13 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
 fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
 				     cis/DP83903.cis cis/NE2K.cis \
-				     cis/tamarack.cis
+				     cis/tamarack.cis cis/PE-200.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
 fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
-				       cis/COMpad2.cis cis/COMpad4.cis
+				       cis/COMpad2.cis cis/COMpad4.cis \
+				       cis/SW_555_SER.cis cis/SW_7xx_SER.cis \
+				       cis/SW_8xx_SER.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -urpN linux-2.6.32-rc5.orig/firmware/WHENCE linux-2.6.32-rc5/firmware/WHENCE
--- linux-2.6.32-rc5.orig/firmware/WHENCE	2009-10-17 15:53:52.000000000 +0900
+++ linux-2.6.32-rc5/firmware/WHENCE	2009-10-17 16:12:04.000000000 +0900
@@ -600,6 +600,7 @@ File: cis/LA-PCM.cis
       cis/DP83903.cis
       cis/NE2K.cis
       cis/tamarack.cis
+      cis/PE-200.cis
 
 Licence: GPL
 
@@ -633,6 +634,9 @@ File: cis/MT5634ZLX.cis
       cis/RS-COM-2P.cis
       cis/COMpad2.cis
       cis/COMpad4.cis
+      cis/SW_555_SER.cis
+      cis/SW_7xx_SER.cis
+      cis/SW_8xx_SER.cis
 
 Licence: GPL

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH  kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
  2009-10-18  1:39         ` [PATCH kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card Ken Kawasaki
@ 2009-10-21 19:18           ` Dan Williams
  2009-10-22 11:10             ` Ken Kawasaki
  2009-10-30  5:51           ` David Miller
  1 sibling, 1 reply; 90+ messages in thread
From: Dan Williams @ 2009-10-21 19:18 UTC (permalink / raw)
  To: Ken Kawasaki; +Cc: netdev

On Sun, 2009-10-18 at 10:39 +0900, Ken Kawasaki wrote:
> pcnet_cs,serial_cs:
> 
> add cis of PreMax ethernet pcmcia card,
> and some Sierra Wireless serial card(AC555, AC7xx, AC8xx).

Random question: are CIS files copyrightable?  What exactly do they
contain, just updates to the the CIS data on the card itself that the
manufacturer forgot to burn before shipping the card?

Also, I've got a Sierra AC860 here that reports as "prod_id(2):
"AC860"", and has the same manf_id (0x0192) and card_id (0x710) as the
AC850.

manf_id: 0x0192 card_id: 0x0710
function: 6 (network)
prod_id(1): "Sierra Wireless" (0xd85f6206)
prod_id(2): "AC860" (0x698f93db)
prod_id(3): "3G Network Adapter" (0xab3c6f47)
prod_id(4): "R1" (0xd9533fec)

It currently requests the 7xx CIS file because there isn't a specific
check for it in the driver and it uses the default 7xx manfid/prodid,
should I submit something like:

+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC860", 0xd85f6206, 0x698f93db, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC860 3G Network Adapter R1 */

?

Dan

> use PROD_ID for AC7xx, because MANF_ID of AC7xx and AC8xx are the same.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
> 
> ---
> 
>  drivers/net/pcmcia/pcnet_cs.c    |    2 +-
>  drivers/serial/serial_cs.c       |    8 ++++----
>  firmware/Makefile                |    6 ++++--
>  firmware/WHENCE                  |    4 ++++
>  firmware/cis/PE-200.cis.ihex     |    9 +++++++++
>  firmware/cis/SW_555_SER.cis.ihex |   12 ++++++++++++
>  firmware/cis/SW_7xx_SER.cis.ihex |   13 +++++++++++++
>  firmware/cis/SW_8xx_SER.cis.ihex |   13 +++++++++++++
>  8 files changed, 60 insertions(+), 7 deletions(-)
> 
> diff -urpN linux-2.6.32-rc5.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.32-rc5/drivers/net/pcmcia/pcnet_cs.c
> --- linux-2.6.32-rc5.orig/drivers/net/pcmcia/pcnet_cs.c	2009-10-17 15:53:44.000000000 +0900
> +++ linux-2.6.32-rc5/drivers/net/pcmcia/pcnet_cs.c	2009-10-17 16:07:12.000000000 +0900
> @@ -1760,7 +1760,7 @@ static struct pcmcia_device_id pcnet_ids
>  	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
>  	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
>  	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
> -	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
> +	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "cis/PE-200.cis"),
>  	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "cis/tamarack.cis"),
>  	PCMCIA_DEVICE_PROD_ID12("Ethernet", "CF Size PC Card", 0x00b2e941, 0x43ac239b),
>  	PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
> diff -urpN linux-2.6.32-rc5.orig/drivers/serial/serial_cs.c linux-2.6.32-rc5/drivers/serial/serial_cs.c
> --- linux-2.6.32-rc5.orig/drivers/serial/serial_cs.c	2009-10-17 15:53:45.000000000 +0900
> +++ linux-2.6.32-rc5/drivers/serial/serial_cs.c	2009-10-17 16:02:50.000000000 +0900
> @@ -879,10 +879,10 @@ static struct pcmcia_device_id serial_id
>  	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "cis/DP83903.cis"),
>  	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
>  	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
> -	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "SW_8xx_SER.cis"),  /* Sierra Wireless AC850 3G Network Adapter R1 */
> -	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
> -	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
> -	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
> +	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC850 3G Network Adapter R1 */
> +	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC710/AC750", 0xd85f6206, 0x761b11e0, "cis/SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
> +	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
> +	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
>  	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "cis/MT5634ZLX.cis"),
>  	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-2", 0x96913a85, 0x27ab5437, "cis/COMpad2.cis"),
>  	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "cis/COMpad4.cis"),
> diff -urpN linux-2.6.32-rc5.orig/firmware/cis/PE-200.cis.ihex linux-2.6.32-rc5/firmware/cis/PE-200.cis.ihex
> --- linux-2.6.32-rc5.orig/firmware/cis/PE-200.cis.ihex	1970-01-01 09:00:00.000000000 +0900
> +++ linux-2.6.32-rc5/firmware/cis/PE-200.cis.ihex	2009-10-17 16:13:21.000000000 +0900
> @@ -0,0 +1,9 @@
> +:1000000001030000FF151E0401504D582020200060
> +:1000100050452D3230300045544845524E4554002D
> +:1000200052303100FF210206031A050101000101CF
> +:100030001B0EC181190155E051000F100F30FFFF59
> +:040040001400FF00A9
> +:00000001FF
> +#
> +# Replacement CIS for PE-200 ethernet card
> +#
> diff -urpN linux-2.6.32-rc5.orig/firmware/cis/SW_555_SER.cis.ihex linux-2.6.32-rc5/firmware/cis/SW_555_SER.cis.ihex
> --- linux-2.6.32-rc5.orig/firmware/cis/SW_555_SER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
> +++ linux-2.6.32-rc5/firmware/cis/SW_555_SER.cis.ihex	2009-10-17 16:12:47.000000000 +0900
> @@ -0,0 +1,12 @@
> +:100000000101FF17034100FF20043F0110072102F7
> +:100010000200152A070053696572726120576972E0
> +:10002000656C657373004169724361726420353594
> +:1000300035004135353500526576203100FF1A050F
> +:1000400001030007731B0BE00118A360F8030730DE
> +:10005000BC3F1B08A10108A360F802071B08A2010E
> +:1000600008A360E803071B08A30108A360E80207D0
> +:0A0070001B04A40108231400FF0084
> +:00000001FF
> +#
> +# Replacement CIS for AC555 provided by Sierra Wireless
> +#
> diff -urpN linux-2.6.32-rc5.orig/firmware/cis/SW_7xx_SER.cis.ihex linux-2.6.32-rc5/firmware/cis/SW_7xx_SER.cis.ihex
> --- linux-2.6.32-rc5.orig/firmware/cis/SW_7xx_SER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
> +++ linux-2.6.32-rc5/firmware/cis/SW_7xx_SER.cis.ihex	2009-10-17 16:12:47.000000000 +0900
> @@ -0,0 +1,13 @@
> +:100000000101FF17034100FF2004920110072102A4
> +:1000100002001537070053696572726120576972D3
> +:10002000656C6573730041433731302F4143373579
> +:10003000300047505253204E6574776F726B2041E9
> +:1000400064617074657200523100FF1A050103008B
> +:1000500007731B10E00119784D555D25A360F80367
> +:100060000730BC861B08A10108A360F802071B0823
> +:10007000A20108A360E803071B08A30108A360E826
> +:0C00800002071B04A40108231400FF0069
> +:00000001FF
> +#
> +# Replacement CIS for AC7xx provided by Sierra Wireless
> +#
> diff -urpN linux-2.6.32-rc5.orig/firmware/cis/SW_8xx_SER.cis.ihex linux-2.6.32-rc5/firmware/cis/SW_8xx_SER.cis.ihex
> --- linux-2.6.32-rc5.orig/firmware/cis/SW_8xx_SER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
> +++ linux-2.6.32-rc5/firmware/cis/SW_8xx_SER.cis.ihex	2009-10-17 16:12:47.000000000 +0900
> @@ -0,0 +1,13 @@
> +:100000000101FF17034100FF2004920110072102A4
> +:100010000200152F070053696572726120576972DB
> +:10002000656C657373004143383530003347204EAB
> +:100030006574776F726B20416461707465720052F1
> +:100040003100FF1A0501030007731B10E001197846
> +:100050004D555D25A360F8480730BC861B08A101FB
> +:1000600008A360F847071B08A20108A360E8480737
> +:100070001B08A30108A360E847071B04A401082389
> +:040080001400FF0069
> +:00000001FF
> +#
> +# Replacement CIS for AC8xx provided by Sierra Wireless
> +#
> diff -urpN linux-2.6.32-rc5.orig/firmware/Makefile linux-2.6.32-rc5/firmware/Makefile
> --- linux-2.6.32-rc5.orig/firmware/Makefile	2009-10-17 15:53:52.000000000 +0900
> +++ linux-2.6.32-rc5/firmware/Makefile	2009-10-17 16:12:21.000000000 +0900
> @@ -69,11 +69,13 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
>  fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
>  fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
>  				     cis/DP83903.cis cis/NE2K.cis \
> -				     cis/tamarack.cis
> +				     cis/tamarack.cis cis/PE-200.cis
>  fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
>  fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
>  fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
> -				       cis/COMpad2.cis cis/COMpad4.cis
> +				       cis/COMpad2.cis cis/COMpad4.cis \
> +				       cis/SW_555_SER.cis cis/SW_7xx_SER.cis \
> +				       cis/SW_8xx_SER.cis
>  fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
>  fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
>  				      advansys/3550.bin advansys/38C0800.bin
> diff -urpN linux-2.6.32-rc5.orig/firmware/WHENCE linux-2.6.32-rc5/firmware/WHENCE
> --- linux-2.6.32-rc5.orig/firmware/WHENCE	2009-10-17 15:53:52.000000000 +0900
> +++ linux-2.6.32-rc5/firmware/WHENCE	2009-10-17 16:12:04.000000000 +0900
> @@ -600,6 +600,7 @@ File: cis/LA-PCM.cis
>        cis/DP83903.cis
>        cis/NE2K.cis
>        cis/tamarack.cis
> +      cis/PE-200.cis
>  
>  Licence: GPL
>  
> @@ -633,6 +634,9 @@ File: cis/MT5634ZLX.cis
>        cis/RS-COM-2P.cis
>        cis/COMpad2.cis
>        cis/COMpad4.cis
> +      cis/SW_555_SER.cis
> +      cis/SW_7xx_SER.cis
> +      cis/SW_8xx_SER.cis
>  
>  Licence: GPL
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH  kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
  2009-10-21 19:18           ` Dan Williams
@ 2009-10-22 11:10             ` Ken Kawasaki
  2009-10-24 20:33               ` Ben Hutchings
  0 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-10-22 11:10 UTC (permalink / raw)
  To: Dan Williams; +Cc: netdev

Hi,

>Dan Williams <dcbw@redhat.com> wrote:

> > add cis of PreMax ethernet pcmcia card,
> > and some Sierra Wireless serial card(AC555, AC7xx, AC8xx).
 
> Random question: are CIS files copyrightable?  

The CIS contains the IRQ, ioport-range, voltage information etc
like the PCI config space.
So I think it is not copyrightable.
but Sierra Wireless provided this CIS by GPL.

> What exactly do they
> contain, just updates to the the CIS data on the card itself that the
> manufacturer forgot to burn before shipping the card?

The reason for the CIS update is original CIS does not conform to the pcmcia spec,
not forget to burn the CIS.  
 
> Also, I've got a Sierra AC860 here that reports as "prod_id(2):
> "AC860"", and has the same manf_id (0x0192) and card_id (0x710) as the
> AC850.

Actually, not all Sierra Wireless card need the CIS update.

Could you remove the PCMCIA_DEVICE_CIS_PROD_ID12 and PCMCIA_DEVICE_CIS_MANF_CARD
definition of the Sierra Wireless card,
and check the AC860 works or not?


Here is the output of dumpcis for SW_8xx_SER.cis.

Socket 0
offset 0x02, tuple 0x01, link 0x01
  ff 
dev_info
  no_info

offset 0x05, tuple 0x17, link 0x03
  41 00 ff 
attr_dev_info
  EEPROM 250ns, 512b

offset 0x0a, tuple 0x20, link 0x04
  92 01 10 07 
manfid 0x0192, 0x0710

offset 0x10, tuple 0x21, link 0x02
  02 00 
funcid serial_port

offset 0x14, tuple 0x15, link 0x2f
  07 00 53 69 65 72 72 61 20 57 69 72 65 6c 65 73 
  73 00 41 43 38 35 30 00 33 47 20 4e 65 74 77 6f 
  72 6b 20 41 64 61 70 74 65 72 00 52 31 00 ff 
vers_1 7.0, "Sierra Wireless", "AC850", "3G Network Adapter", "R1"

offset 0x45, tuple 0x1a, link 0x05
  01 03 00 07 73 
config base 0x0700 mask 0x0073 last_index 0x03

offset 0x4c, tuple 0x1b, link 0x10
  e0 01 19 78 4d 55 5d 25 a3 60 f8 48 07 30 bc 86 
cftable_entry 0x20 [default]
  Vcc Istatic 45mA Iavg 50mA Ipeak 55mA Idown 20mA
  io 0x48f8-0x48ff [lines=3] [8bit] [range]
  irq mask 0x86bc [level]

offset 0x5e, tuple 0x1b, link 0x08
  a1 01 08 a3 60 f8 47 07 
cftable_entry 0x21
  io 0x47f8-0x47ff [lines=3] [8bit] [range]

offset 0x68, tuple 0x1b, link 0x08
  a2 01 08 a3 60 e8 48 07 
cftable_entry 0x22
  io 0x48e8-0x48ef [lines=3] [8bit] [range]

offset 0x72, tuple 0x1b, link 0x08
  a3 01 08 a3 60 e8 47 07 
cftable_entry 0x23
  io 0x47e8-0x47ef [lines=3] [8bit] [range]

offset 0x7c, tuple 0x1b, link 0x04
  a4 01 08 23 
cftable_entry 0x24
  io 0x0000-0x0007 [lines=3] [8bit]

offset 0x82, tuple 0x14, link 0x00
no_long_link


Best Regards
Ken.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH  kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
  2009-10-22 11:10             ` Ken Kawasaki
@ 2009-10-24 20:33               ` Ben Hutchings
  0 siblings, 0 replies; 90+ messages in thread
From: Ben Hutchings @ 2009-10-24 20:33 UTC (permalink / raw)
  To: Ken Kawasaki; +Cc: Dan Williams, netdev

[-- Attachment #1: Type: text/plain, Size: 1273 bytes --]

On Thu, 2009-10-22 at 20:47 +0100, Ken Kawasaki wrote:
> Hi,
> 
> >Dan Williams <dcbw@redhat.com> wrote:
> 
> > > add cis of PreMax ethernet pcmcia card,
> > > and some Sierra Wireless serial card(AC555, AC7xx, AC8xx).
>  
> > Random question: are CIS files copyrightable?  
> 
> The CIS contains the IRQ, ioport-range, voltage information etc
> like the PCI config space.
> So I think it is not copyrightable.
> but Sierra Wireless provided this CIS by GPL.
[...]

If it is subject to copyright - which apparently they think it is - then
when redistributing under GPL we must be able to provide the 'preferred
form for modification'.  So that leads to the question, is this blob or
hex file the preferred form?

I know very little about CIS but it appears to have a fairly simple
structure that could perhaps be constructed with a hex editor.  However,
if a manufacturer or a later maintainer actually compiles it from a file
in some other format which has extra information like comments or named
constants then I think that should be included in the kernel source.

Ben.

-- 
Ben Hutchings
The obvious mathematical breakthrough [to break modern encryption] would be
development of an easy way to factor large prime numbers. - Bill Gates

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card
  2009-10-18  1:39         ` [PATCH kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card Ken Kawasaki
  2009-10-21 19:18           ` Dan Williams
@ 2009-10-30  5:51           ` David Miller
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2009-10-30  5:51 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 18 Oct 2009 10:39:20 +0900

> 
> pcnet_cs,serial_cs:
> 
> add cis of PreMax ethernet pcmcia card,
> and some Sierra Wireless serial card(AC555, AC7xx, AC8xx).
> 
> use PROD_ID for AC7xx, because MANF_ID of AC7xx and AC8xx are the same.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied to net-2.6, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt
  2009-09-13  8:22     ` [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card Ken Kawasaki
  2009-09-15  9:42       ` David Miller
  2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
@ 2009-12-13  0:44       ` Ken Kawasaki
  2009-12-14  3:48         ` David Miller
  2010-03-06 22:02         ` [PATCH kernel 2.6.33-git11] lib8390: use spin_lock_irqsave for locking Ken Kawasaki
  2 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-12-13  0:44 UTC (permalink / raw)
  To: netdev


3c574_cs, 3c589_cs:
	disable irq before calling el3_interrupt
	in the media_check function.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.32-git7/drivers/net/pcmcia/3c574_cs.c.orig	2009-12-12 06:58:14.000000000 +0900
+++ linux-2.6.32-git7/drivers/net/pcmcia/3c574_cs.c	2009-12-13 08:50:18.000000000 +0900
@@ -912,7 +912,11 @@ static void media_check(unsigned long ar
 	if ((inw(ioaddr + EL3_STATUS) & IntLatch) && (inb(ioaddr + Timer) == 0xff)) {
 		if (!lp->fast_poll)
 			printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
+
+		local_irq_save(flags);
 		el3_interrupt(dev->irq, dev);
+		local_irq_restore(flags);
+
 		lp->fast_poll = HZ;
 	}
 	if (lp->fast_poll) {
--- linux-2.6.32-git7/drivers/net/pcmcia/3c589_cs.c.orig	2009-12-12 06:58:28.000000000 +0900
+++ linux-2.6.32-git7/drivers/net/pcmcia/3c589_cs.c	2009-12-13 08:50:38.000000000 +0900
@@ -711,7 +711,11 @@ static void media_check(unsigned long ar
 	(inb(ioaddr + EL3_TIMER) == 0xff)) {
 	if (!lp->fast_poll)
 	    printk(KERN_WARNING "%s: interrupt(s) dropped!\n", dev->name);
+
+	local_irq_save(flags);
 	el3_interrupt(dev->irq, dev);
+	local_irq_restore(flags);
+
 	lp->fast_poll = HZ;
     }
     if (lp->fast_poll) {

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt
  2009-12-13  0:44       ` [PATCH kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt Ken Kawasaki
@ 2009-12-14  3:48         ` David Miller
  2010-03-06 22:02         ` [PATCH kernel 2.6.33-git11] lib8390: use spin_lock_irqsave for locking Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2009-12-14  3:48 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 13 Dec 2009 09:44:11 +0900

> 
> 3c574_cs, 3c589_cs:
> 	disable irq before calling el3_interrupt
> 	in the media_check function.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
                           ` (2 preceding siblings ...)
  2009-10-18  1:39         ` [PATCH kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card Ken Kawasaki
@ 2009-12-21 11:58         ` Ken Kawasaki
  2009-12-23  2:50           ` Ben Hutchings
                             ` (2 more replies)
  3 siblings, 3 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-12-21 11:58 UTC (permalink / raw)
  To: netdev


pcnet_cs,serial_cs:

add cis of KTI PE520 pcmcia network card,
and some serial card(GLOBETROTTER, Sierra Wireless AC860).

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

 drivers/net/pcmcia/pcnet_cs.c      |    4 ++--
 drivers/serial/serial_cs.c         |   16 +++++++++++++++-
 firmware/Makefile                  |    5 +++--
 firmware/WHENCE                    |   11 +++++++++++
 firmware/cis/GLOBETROTTER.cis.ihex |   15 +++++++++++++++
 firmware/cis/PE520.cis.ihex        |    9 +++++++++
 6 files changed, 55 insertions(+), 5 deletions(-)

diff -uprN linux-2.6.33-rc1.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.33-rc1/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.33-rc1.orig/drivers/net/pcmcia/pcnet_cs.c	2009-12-20 18:17:04.000000000 +0900
+++ linux-2.6.33-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-12-20 18:30:54.000000000 +0900
@@ -1741,7 +1741,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "cis/DP83903.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "cis/PE520.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "cis/PE-200.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "cis/tamarack.cis"),
@@ -1754,7 +1754,7 @@ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
 MODULE_FIRMWARE("cis/PCMLM28.cis");
 MODULE_FIRMWARE("cis/DP83903.cis");
 MODULE_FIRMWARE("cis/LA-PCM.cis");
-MODULE_FIRMWARE("PE520.cis");
+MODULE_FIRMWARE("cis/PE520.cis");
 MODULE_FIRMWARE("cis/NE2K.cis");
 MODULE_FIRMWARE("cis/PE-200.cis");
 MODULE_FIRMWARE("cis/tamarack.cis");
diff -uprN linux-2.6.33-rc1.orig/drivers/serial/serial_cs.c linux-2.6.33-rc1/drivers/serial/serial_cs.c
--- linux-2.6.33-rc1.orig/drivers/serial/serial_cs.c	2009-12-20 18:17:05.000000000 +0900
+++ linux-2.6.33-rc1/drivers/serial/serial_cs.c	2009-12-20 18:39:23.000000000 +0900
@@ -819,6 +819,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC850 3G Network Adapter R1 */
+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC860", 0xd85f6206, 0x698f93db, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC860 3G Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC710/AC750", 0xd85f6206, 0x761b11e0, "cis/SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
@@ -827,7 +828,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "cis/COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "cis/COMpad2.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "cis/RS-COM-2P.cis"),
-	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "GLOBETROTTER.cis"),
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "cis/GLOBETROTTER.cis"),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100  1.00.",0x19ca78af,0xf964f42b),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100",0x19ca78af,0x71d98e83),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL232  1.00.",0x19ca78af,0x69fb7490),
@@ -861,6 +862,19 @@ static struct pcmcia_device_id serial_id
 };
 MODULE_DEVICE_TABLE(pcmcia, serial_ids);
 
+MODULE_FIRMWARE("cis/PCMLM28.cis");
+MODULE_FIRMWARE("cis/DP83903.cis");
+MODULE_FIRMWARE("cis/3CCFEM556.cis");
+MODULE_FIRMWARE("cis/3CXEM556.cis");
+MODULE_FIRMWARE("cis/SW_8xx_SER.cis");
+MODULE_FIRMWARE("cis/SW_7xx_SER.cis");
+MODULE_FIRMWARE("cis/SW_555_SER.cis");
+MODULE_FIRMWARE("cis/MT5634ZLX.cis");
+MODULE_FIRMWARE("cis/COMpad2.cis");
+MODULE_FIRMWARE("cis/COMpad4.cis");
+MODULE_FIRMWARE("cis/RS-COM-2P.cis");
+MODULE_FIRMWARE("cis/GLOBETROTTER.cis");
+
 static struct pcmcia_driver serial_cs_driver = {
 	.owner		= THIS_MODULE,
 	.drv		= {
diff -uprN linux-2.6.33-rc1.orig/firmware/Makefile linux-2.6.33-rc1/firmware/Makefile
--- linux-2.6.33-rc1.orig/firmware/Makefile	2009-12-20 18:17:07.000000000 +0900
+++ linux-2.6.33-rc1/firmware/Makefile	2009-12-20 18:20:29.000000000 +0900
@@ -69,13 +69,14 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
 fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
 				     cis/DP83903.cis cis/NE2K.cis \
-				     cis/tamarack.cis cis/PE-200.cis
+				     cis/tamarack.cis cis/PE-200.cis \
+				     cis/PE520.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
 fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
 				       cis/COMpad2.cis cis/COMpad4.cis \
 				       cis/SW_555_SER.cis cis/SW_7xx_SER.cis \
-				       cis/SW_8xx_SER.cis
+				       cis/SW_8xx_SER.cis cis/GLOBETROTTER.cis
 fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
 fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
 				      advansys/3550.bin advansys/38C0800.bin
diff -uprN linux-2.6.33-rc1.orig/firmware/WHENCE linux-2.6.33-rc1/firmware/WHENCE
--- linux-2.6.33-rc1.orig/firmware/WHENCE	2009-12-20 18:17:07.000000000 +0900
+++ linux-2.6.33-rc1/firmware/WHENCE	2009-12-20 18:29:39.000000000 +0900
@@ -601,6 +601,7 @@ File: cis/LA-PCM.cis
       cis/NE2K.cis
       cis/tamarack.cis
       cis/PE-200.cis
+      cis/PE520.cis
 
 Licence: GPL
 
@@ -630,6 +631,7 @@ Originally developed by the pcmcia-cs pr
 
 Driver: SERIAL_8250_CS - Serial PCMCIA adapter
 
+(1)
 File: cis/MT5634ZLX.cis
       cis/RS-COM-2P.cis
       cis/COMpad2.cis
@@ -642,6 +644,15 @@ Licence: GPL
 
 Originally developed by the pcmcia-cs project
 
+(2)
+File: cis/GLOBETROTTER.cis
+
+License: AS IS
+
+This file is Option's intellectual property,
+and developed by Paul at pharscape.org.
+http://www.pharscape.org/
+
 --------------------------------------------------------------------------
 
 Driver: PCMCIA_SMC91C92 - SMC 91Cxx PCMCIA
diff -uprN linux-2.6.33-rc1.orig/firmware/cis/GLOBETROTTER.cis.ihex linux-2.6.33-rc1/firmware/cis/GLOBETROTTER.cis.ihex
--- linux-2.6.33-rc1.orig/firmware/cis/GLOBETROTTER.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.33-rc1/firmware/cis/GLOBETROTTER.cis.ihex	2009-12-20 18:17:54.000000000 +0900
@@ -0,0 +1,15 @@
+:1000000001030000FF153404014F7074696F6E2006
+:10001000496E7465726E6174696F6E616C004753EE
+:100020004D2F4750525320476C6F626554726F7466
+:1000300074657200303031004100FF20041300006D
+:1000400000210202001A0501270004011B0BE00138
+:10005000190184A060F80307241B09A10118A060FE
+:10006000F80207231B09A20118A060E80307241B5C
+:1000700009A30118A060E80207231B0BE401190182
+:1000800055A060F80307241B09A50118A060F80219
+:1000900007231B09A60118A060E80307241B09A772
+:0C00A0000118A060E80207231400FF0014
+:00000001FF
+#
+# Replacement CIS for GLOBETROTTER
+#
diff -uprN linux-2.6.33-rc1.orig/firmware/cis/PE520.cis.ihex linux-2.6.33-rc1/firmware/cis/PE520.cis.ihex
--- linux-2.6.33-rc1.orig/firmware/cis/PE520.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.33-rc1/firmware/cis/PE520.cis.ihex	2009-12-20 18:41:05.000000000 +0900
@@ -0,0 +1,9 @@
+:1000000001030000FF152304014B544900504535FE
+:10001000323020504C55530050434D434941204508
+:10002000746865726E65740000FF20046101100041
+:10003000210206001A050101D00F0B1B09C101198D
+:0A00400001556530FFFF1400FF00BA
+:00000001FF
+#
+# Replacement CIS for PE520 ethernet card
+#

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH  kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2009-12-21 11:58         ` [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
@ 2009-12-23  2:50           ` Ben Hutchings
  2009-12-23  8:05           ` Ken Kawasaki
  2009-12-23  8:10           ` [PATCH kernel 2.6.33-rc1 updated] " Ken Kawasaki
  2 siblings, 0 replies; 90+ messages in thread
From: Ben Hutchings @ 2009-12-23  2:50 UTC (permalink / raw)
  To: Ken Kawasaki; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 740 bytes --]

On Mon, 2009-12-21 at 20:58 +0900, Ken Kawasaki wrote:
> pcnet_cs,serial_cs:
> 
> add cis of KTI PE520 pcmcia network card,
> and some serial card(GLOBETROTTER, Sierra Wireless AC860).
[...]
> +(2)
> +File: cis/GLOBETROTTER.cis
> +
> +License: AS IS

The phrase "AS IS" is usually used in a disclaimer of warranty.  It is
in no way a licence to distribute the file.

> +This file is Option's intellectual property,
> +and developed by Paul at pharscape.org.
> +http://www.pharscape.org/

By "intellectual property" do you mean copyright, or do they claim
patent rights in it as well?

You need to be explicit.

Ben.

-- 
Ben Hutchings
Experience is what causes a person to make new mistakes instead of old ones.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: Re: [PATCH  kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2009-12-21 11:58         ` [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
  2009-12-23  2:50           ` Ben Hutchings
@ 2009-12-23  8:05           ` Ken Kawasaki
  2010-01-04  5:42             ` David Miller
  2009-12-23  8:10           ` [PATCH kernel 2.6.33-rc1 updated] " Ken Kawasaki
  2 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-12-23  8:05 UTC (permalink / raw)
  To: Ben Hutchings; +Cc: netdev

Hi, Ben

>> +(2)
>> +File: cis/GLOBETROTTER.cis
>> +
>> +License: AS IS
>
>The phrase "AS IS" is usually used in a disclaimer of warranty.  It is
>in no way a licence to distribute the file.
>
>> +This file is Option's intellectual property,
>> +and developed by Paul at pharscape.org.
>> +http://www.pharscape.org/
>
>By "intellectual property" do you mean copyright, or do they claim
>patent rights in it as well?
>
>You need to be explicit.


The licence of GLOBETROTTER.cis is unclear,
I will drop this.

Best Regards
Ken


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33-rc1  updated] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2009-12-21 11:58         ` [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
  2009-12-23  2:50           ` Ben Hutchings
  2009-12-23  8:05           ` Ken Kawasaki
@ 2009-12-23  8:10           ` Ken Kawasaki
  2009-12-29  1:17             ` [PATCH kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore Ken Kawasaki
                               ` (2 more replies)
  2 siblings, 3 replies; 90+ messages in thread
From: Ken Kawasaki @ 2009-12-23  8:10 UTC (permalink / raw)
  To: Ken Kawasaki; +Cc: netdev


pcnet_cs,serial_cs:

add cis of KTI PE520 pcmcia network card,
and serial card(Sierra Wireless AC860).

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

 drivers/net/pcmcia/pcnet_cs.c |    4 ++--
 drivers/serial/serial_cs.c    |   16 +++++++++++++++-
 firmware/Makefile             |    3 ++-
 firmware/WHENCE               |    1 +
 firmware/cis/PE520.cis.ihex   |    9 +++++++++
 5 files changed, 29 insertions(+), 4 deletions(-)

diff -uprN linux-2.6.33-rc1.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.33-rc1/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.33-rc1.orig/drivers/net/pcmcia/pcnet_cs.c	2009-12-20 18:17:04.000000000 +0900
+++ linux-2.6.33-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-12-20 18:30:54.000000000 +0900
@@ -1741,7 +1741,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "cis/DP83903.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "cis/PE520.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "cis/PE-200.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "cis/tamarack.cis"),
@@ -1754,7 +1754,7 @@ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
 MODULE_FIRMWARE("cis/PCMLM28.cis");
 MODULE_FIRMWARE("cis/DP83903.cis");
 MODULE_FIRMWARE("cis/LA-PCM.cis");
-MODULE_FIRMWARE("PE520.cis");
+MODULE_FIRMWARE("cis/PE520.cis");
 MODULE_FIRMWARE("cis/NE2K.cis");
 MODULE_FIRMWARE("cis/PE-200.cis");
 MODULE_FIRMWARE("cis/tamarack.cis");
diff -uprN linux-2.6.33-rc1.orig/drivers/serial/serial_cs.c linux-2.6.33-rc1/drivers/serial/serial_cs.c
--- linux-2.6.33-rc1.orig/drivers/serial/serial_cs.c	2009-12-20 18:17:05.000000000 +0900
+++ linux-2.6.33-rc1/drivers/serial/serial_cs.c	2009-12-23 16:39:06.000000000 +0900
@@ -819,6 +819,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC850 3G Network Adapter R1 */
+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC860", 0xd85f6206, 0x698f93db, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC860 3G Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC710/AC750", 0xd85f6206, 0x761b11e0, "cis/SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
@@ -827,7 +828,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "cis/COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "cis/COMpad2.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "cis/RS-COM-2P.cis"),
-	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "GLOBETROTTER.cis"),
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "cis/GLOBETROTTER.cis"),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100  1.00.",0x19ca78af,0xf964f42b),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100",0x19ca78af,0x71d98e83),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL232  1.00.",0x19ca78af,0x69fb7490),
@@ -861,6 +862,19 @@ static struct pcmcia_device_id serial_id
 };
 MODULE_DEVICE_TABLE(pcmcia, serial_ids);
 
+MODULE_FIRMWARE("cis/PCMLM28.cis");
+MODULE_FIRMWARE("cis/DP83903.cis");
+MODULE_FIRMWARE("cis/3CCFEM556.cis");
+MODULE_FIRMWARE("cis/3CXEM556.cis");
+MODULE_FIRMWARE("cis/SW_8xx_SER.cis");
+MODULE_FIRMWARE("cis/SW_7xx_SER.cis");
+MODULE_FIRMWARE("cis/SW_555_SER.cis");
+MODULE_FIRMWARE("cis/MT5634ZLX.cis");
+MODULE_FIRMWARE("cis/COMpad2.cis");
+MODULE_FIRMWARE("cis/COMpad4.cis");
+MODULE_FIRMWARE("cis/RS-COM-2P.cis");
+MODULE_FIRMWARE("cis/GLOBETROTTER.cis");
+
 static struct pcmcia_driver serial_cs_driver = {
 	.owner		= THIS_MODULE,
 	.drv		= {
diff -uprN linux-2.6.33-rc1.orig/firmware/cis/PE520.cis.ihex linux-2.6.33-rc1/firmware/cis/PE520.cis.ihex
--- linux-2.6.33-rc1.orig/firmware/cis/PE520.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.33-rc1/firmware/cis/PE520.cis.ihex	2009-12-23 16:43:17.000000000 +0900
@@ -0,0 +1,9 @@
+:1000000001030000FF152304014B544900504535FE
+:10001000323020504C55530050434D434941204508
+:10002000746865726E65740000FF20046101100041
+:10003000210206001A050101D00F0B1B09C101198D
+:0A00400001556530FFFF1400FF00BA
+:00000001FF
+#
+# Replacement CIS for PE520 ethernet card
+#
diff -uprN linux-2.6.33-rc1.orig/firmware/Makefile linux-2.6.33-rc1/firmware/Makefile
--- linux-2.6.33-rc1.orig/firmware/Makefile	2009-12-20 18:17:07.000000000 +0900
+++ linux-2.6.33-rc1/firmware/Makefile	2009-12-23 16:32:28.000000000 +0900
@@ -69,7 +69,8 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
 fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
 				     cis/DP83903.cis cis/NE2K.cis \
-				     cis/tamarack.cis cis/PE-200.cis
+				     cis/tamarack.cis cis/PE-200.cis \
+				     cis/PE520.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
 fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
diff -uprN linux-2.6.33-rc1.orig/firmware/WHENCE linux-2.6.33-rc1/firmware/WHENCE
--- linux-2.6.33-rc1.orig/firmware/WHENCE	2009-12-20 18:17:07.000000000 +0900
+++ linux-2.6.33-rc1/firmware/WHENCE	2009-12-23 16:33:06.000000000 +0900
@@ -601,6 +601,7 @@ File: cis/LA-PCM.cis
       cis/NE2K.cis
       cis/tamarack.cis
       cis/PE-200.cis
+      cis/PE520.cis
 
 Licence: GPL
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore
  2009-12-23  8:10           ` [PATCH kernel 2.6.33-rc1 updated] " Ken Kawasaki
@ 2009-12-29  1:17             ` Ken Kawasaki
  2010-01-04  5:52               ` David Miller
  2010-01-04 11:34             ` [PATCH kernel 2.6.33-rc1 v3] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
  2010-01-22 21:56             ` [PATCH kernel 2.6.33-rc5] fmvj18x_cs: add new id (Panasonic lan & modem card) Ken Kawasaki
  2 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2009-12-29  1:17 UTC (permalink / raw)
  To: netdev


axnet_cs:
    remove unnecessary spin_unlock_irqrestore,spin_lock_irqsave.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.33-rc2/drivers/net/pcmcia/axnet_cs.c.orig	2009-12-27 18:21:59.000000000 +0900
+++ linux-2.6.33-rc2/drivers/net/pcmcia/axnet_cs.c	2009-12-27 18:22:38.000000000 +0900
@@ -1065,14 +1065,11 @@ static netdev_tx_t axnet_start_xmit(stru
 	   
 	spin_lock_irqsave(&ei_local->page_lock, flags);
 	outb_p(0x00, e8390_base + EN0_IMR);
-	spin_unlock_irqrestore(&ei_local->page_lock, flags);
 	
 	/*
 	 *	Slow phase with lock held.
 	 */
 	 
-	spin_lock_irqsave(&ei_local->page_lock, flags);
-	
 	ei_local->irqlock = 1;
 
 	send_length = max(length, ETH_ZLEN);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2009-12-23  8:05           ` Ken Kawasaki
@ 2010-01-04  5:42             ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-01-04  5:42 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: ben, netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Wed, 23 Dec 2009 17:05:46 +0900 (JST)

> The licence of GLOBETROTTER.cis is unclear,
> I will drop this.

You need to update your patch.

The GLOBETROTTER.cis file was removed, but you retained
the MODULE_FIRMWARE() line referencing it.  Please remove
that too.

Thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore
  2009-12-29  1:17             ` [PATCH kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore Ken Kawasaki
@ 2010-01-04  5:52               ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-01-04  5:52 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Tue, 29 Dec 2009 10:17:24 +0900

> 
> axnet_cs:
>     remove unnecessary spin_unlock_irqrestore,spin_lock_irqsave.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied to net-next-2.6

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33-rc1  v3] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2009-12-23  8:10           ` [PATCH kernel 2.6.33-rc1 updated] " Ken Kawasaki
  2009-12-29  1:17             ` [PATCH kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore Ken Kawasaki
@ 2010-01-04 11:34             ` Ken Kawasaki
  2010-01-07  4:38               ` David Miller
  2010-01-22 21:56             ` [PATCH kernel 2.6.33-rc5] fmvj18x_cs: add new id (Panasonic lan & modem card) Ken Kawasaki
  2 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2010-01-04 11:34 UTC (permalink / raw)
  To: netdev


pcnet_cs,serial_cs:

add cis of KTI PE520 pcmcia network card,
and serial card(Sierra Wireless AC860).

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

 drivers/net/pcmcia/pcnet_cs.c |    4 ++--
 drivers/serial/serial_cs.c    |   15 ++++++++++++++-
 firmware/Makefile             |    3 ++-
 firmware/WHENCE               |    1 +
 firmware/cis/PE520.cis.ihex   |    9 +++++++++
 5 files changed, 28 insertions(+), 4 deletions(-)

diff -uprN linux-2.6.33-rc1.orig/drivers/net/pcmcia/pcnet_cs.c linux-2.6.33-rc1/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.6.33-rc1.orig/drivers/net/pcmcia/pcnet_cs.c	2009-12-20 18:17:04.000000000 +0900
+++ linux-2.6.33-rc1/drivers/net/pcmcia/pcnet_cs.c	2009-12-20 18:30:54.000000000 +0900
@@ -1741,7 +1741,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "cis/DP83903.cis"),
 	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
-	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "PE520.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "cis/PE520.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "cis/PE-200.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "cis/tamarack.cis"),
@@ -1754,7 +1754,7 @@ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
 MODULE_FIRMWARE("cis/PCMLM28.cis");
 MODULE_FIRMWARE("cis/DP83903.cis");
 MODULE_FIRMWARE("cis/LA-PCM.cis");
-MODULE_FIRMWARE("PE520.cis");
+MODULE_FIRMWARE("cis/PE520.cis");
 MODULE_FIRMWARE("cis/NE2K.cis");
 MODULE_FIRMWARE("cis/PE-200.cis");
 MODULE_FIRMWARE("cis/tamarack.cis");
diff -uprN linux-2.6.33-rc1.orig/drivers/serial/serial_cs.c linux-2.6.33-rc1/drivers/serial/serial_cs.c
--- linux-2.6.33-rc1.orig/drivers/serial/serial_cs.c	2009-12-20 18:17:05.000000000 +0900
+++ linux-2.6.33-rc1/drivers/serial/serial_cs.c	2010-01-04 20:13:52.000000000 +0900
@@ -819,6 +819,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "cis/3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "cis/3CXEM556.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC850 3G Network Adapter R1 */
+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC860", 0xd85f6206, 0x698f93db, "cis/SW_8xx_SER.cis"), /* Sierra Wireless AC860 3G Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC710/AC750", 0xd85f6206, 0x761b11e0, "cis/SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "cis/SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
@@ -827,7 +828,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "cis/COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "cis/COMpad2.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID2("RS-COM 2P", 0xad20b156, "cis/RS-COM-2P.cis"),
-	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "GLOBETROTTER.cis"),
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x0013, 0x0000, "cis/GLOBETROTTER.cis"),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100  1.00.",0x19ca78af,0xf964f42b),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL100",0x19ca78af,0x71d98e83),
 	PCMCIA_DEVICE_PROD_ID12("ELAN DIGITAL SYSTEMS LTD, c1997.","SERIAL CARD: SL232  1.00.",0x19ca78af,0x69fb7490),
@@ -861,6 +862,18 @@ static struct pcmcia_device_id serial_id
 };
 MODULE_DEVICE_TABLE(pcmcia, serial_ids);
 
+MODULE_FIRMWARE("cis/PCMLM28.cis");
+MODULE_FIRMWARE("cis/DP83903.cis");
+MODULE_FIRMWARE("cis/3CCFEM556.cis");
+MODULE_FIRMWARE("cis/3CXEM556.cis");
+MODULE_FIRMWARE("cis/SW_8xx_SER.cis");
+MODULE_FIRMWARE("cis/SW_7xx_SER.cis");
+MODULE_FIRMWARE("cis/SW_555_SER.cis");
+MODULE_FIRMWARE("cis/MT5634ZLX.cis");
+MODULE_FIRMWARE("cis/COMpad2.cis");
+MODULE_FIRMWARE("cis/COMpad4.cis");
+MODULE_FIRMWARE("cis/RS-COM-2P.cis");
+
 static struct pcmcia_driver serial_cs_driver = {
 	.owner		= THIS_MODULE,
 	.drv		= {
diff -uprN linux-2.6.33-rc1.orig/firmware/Makefile linux-2.6.33-rc1/firmware/Makefile
--- linux-2.6.33-rc1.orig/firmware/Makefile	2009-12-20 18:17:07.000000000 +0900
+++ linux-2.6.33-rc1/firmware/Makefile	2009-12-23 16:32:28.000000000 +0900
@@ -69,7 +69,8 @@ fw-shipped-$(CONFIG_E100) += e100/d101m_
 fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
 fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
 				     cis/DP83903.cis cis/NE2K.cis \
-				     cis/tamarack.cis cis/PE-200.cis
+				     cis/tamarack.cis cis/PE-200.cis \
+				     cis/PE520.cis
 fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
 fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
 fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
diff -uprN linux-2.6.33-rc1.orig/firmware/WHENCE linux-2.6.33-rc1/firmware/WHENCE
--- linux-2.6.33-rc1.orig/firmware/WHENCE	2009-12-20 18:17:07.000000000 +0900
+++ linux-2.6.33-rc1/firmware/WHENCE	2009-12-23 16:33:06.000000000 +0900
@@ -601,6 +601,7 @@ File: cis/LA-PCM.cis
       cis/NE2K.cis
       cis/tamarack.cis
       cis/PE-200.cis
+      cis/PE520.cis
 
 Licence: GPL
 
diff -uprN linux-2.6.33-rc1.orig/firmware/cis/PE520.cis.ihex linux-2.6.33-rc1/firmware/cis/PE520.cis.ihex
--- linux-2.6.33-rc1.orig/firmware/cis/PE520.cis.ihex	1970-01-01 09:00:00.000000000 +0900
+++ linux-2.6.33-rc1/firmware/cis/PE520.cis.ihex	2009-12-23 16:43:17.000000000 +0900
@@ -0,0 +1,9 @@
+:1000000001030000FF152304014B544900504535FE
+:10001000323020504C55530050434D434941204508
+:10002000746865726E65740000FF20046101100041
+:10003000210206001A050101D00F0B1B09C101198D
+:0A00400001556530FFFF1400FF00BA
+:00000001FF
+#
+# Replacement CIS for PE520 ethernet card
+#

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.33-rc1 v3] pcnet_cs: add cis of KTI PE520 pcmcia network card
  2010-01-04 11:34             ` [PATCH kernel 2.6.33-rc1 v3] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
@ 2010-01-07  4:38               ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-01-07  4:38 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Mon, 4 Jan 2010 20:34:17 +0900

> 
> pcnet_cs,serial_cs:
> 
> add cis of KTI PE520 pcmcia network card,
> and serial card(Sierra Wireless AC860).
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied to net-2.6, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33-rc5] fmvj18x_cs: add new id (Panasonic lan & modem card)
  2009-12-23  8:10           ` [PATCH kernel 2.6.33-rc1 updated] " Ken Kawasaki
  2009-12-29  1:17             ` [PATCH kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore Ken Kawasaki
  2010-01-04 11:34             ` [PATCH kernel 2.6.33-rc1 v3] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
@ 2010-01-22 21:56             ` Ken Kawasaki
  2010-02-27 23:34               ` [PATCH kernel 2.6.33] axnet_cs: add new id Ken Kawasaki
  2 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2010-01-22 21:56 UTC (permalink / raw)
  To: netdev; +Cc: ken_kawasaki


fmvj18x_cs, serial_cs:
 add new id
 Panasonic lan & modem card (model name:AL-VML101)

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.33-rc5/drivers/net/pcmcia/fmvj18x_cs.c.orig	2010-01-22 21:59:25.000000000 +0900
+++ linux-2.6.33-rc5/drivers/net/pcmcia/fmvj18x_cs.c	2010-01-22 21:59:44.000000000 +0900
@@ -717,6 +717,7 @@ static struct pcmcia_device_id fmvj18x_i
 	PCMCIA_PFC_DEVICE_PROD_ID12(0, "NEC", "PK-UG-J001" ,0x18df0ba0 ,0x831b1064),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0105, 0x0d0a),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0105, 0x0e0a),
+	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x0e01),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x0a05),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x1101),
 	PCMCIA_DEVICE_NULL,
--- linux-2.6.33-rc5/drivers/serial/serial_cs.c.orig	2010-01-22 22:00:00.000000000 +0900
+++ linux-2.6.33-rc5/drivers/serial/serial_cs.c	2010-01-22 22:00:21.000000000 +0900
@@ -758,6 +758,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "LanModem", 0xdcfe12d3, 0xc67c648f),
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "TDK", "GlobalNetworker 3410/3412", 0x1eae9475, 0xd9a93bed),
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "Xircom", "CreditCard Ethernet+Modem II", 0x2e3ee845, 0xeca401bf),
+	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x0e01),
 	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x0a05),
 	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x1101),
 	PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0104, 0x0070),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33] axnet_cs: add new id
  2010-01-22 21:56             ` [PATCH kernel 2.6.33-rc5] fmvj18x_cs: add new id (Panasonic lan & modem card) Ken Kawasaki
@ 2010-02-27 23:34               ` Ken Kawasaki
  2010-02-28  9:03                 ` David Miller
                                   ` (2 more replies)
  0 siblings, 3 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-02-27 23:34 UTC (permalink / raw)
  To: netdev


axnet_cs:
  add new id (corega PCC-TXM)

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.33-stock/drivers/net/pcmcia/axnet_cs.c.orig	2010-02-27 20:57:19.000000000 +0900
+++ linux-2.6.33-stock/drivers/net/pcmcia/axnet_cs.c	2010-02-27 20:59:27.000000000 +0900
@@ -779,6 +779,7 @@ static struct pcmcia_device_id axnet_ids
 	PCMCIA_DEVICE_PROD_ID12("CNet", "CNF301", 0xbc477dde, 0x78c5f40b),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEther PCC-TXD", 0x5261440f, 0x436768c5),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEtherII PCC-TXD", 0x5261440f, 0x730df72e),
+	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega FEther PCC-TXM", 0x5261440f, 0x3abbd061),
 	PCMCIA_DEVICE_PROD_ID12("Dynalink", "L100C16", 0x55632fd5, 0x66bc2a90),
 	PCMCIA_DEVICE_PROD_ID12("IO DATA", "ETXPCM", 0x547e66dc, 0x233adac2),
 	PCMCIA_DEVICE_PROD_ID12("Linksys", "EtherFast 10/100 PC Card (PCMPC100 V3)", 0x0733cc81, 0x232019a8),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.33] axnet_cs: add new id
  2010-02-27 23:34               ` [PATCH kernel 2.6.33] axnet_cs: add new id Ken Kawasaki
@ 2010-02-28  9:03                 ` David Miller
  2010-03-27 20:55                 ` [PATCH kernel 2.6.34-rc2] pcnet_cs: " Ken Kawasaki
  2010-06-12 10:17                 ` [PATCH kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card) Ken Kawasaki
  2 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-02-28  9:03 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 28 Feb 2010 08:34:20 +0900

> 
> axnet_cs:
>   add new id (corega PCC-TXM)
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.33-git11] lib8390: use spin_lock_irqsave for locking
  2009-12-13  0:44       ` [PATCH kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt Ken Kawasaki
  2009-12-14  3:48         ` David Miller
@ 2010-03-06 22:02         ` Ken Kawasaki
  2010-05-03 10:43           ` [PATCH kernel 2.6.34-rc5] lib8390: to be SMP safe Ken Kawasaki
  1 sibling, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2010-03-06 22:02 UTC (permalink / raw)
  To: netdev


lib8390:
 use "spin_lock_irqsave", "local_irq_save" instead of "disable_irq".

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.33-git11/drivers/net/lib8390.c.orig	2010-03-06 20:09:28.000000000 +0900
+++ linux-2.6.33-git11/drivers/net/lib8390.c	2010-03-07 06:42:47.000000000 +0900
@@ -279,15 +279,13 @@ static void __ei_tx_timeout(struct net_d
 
 	/* Ugly but a reset can be slow, yet must be protected */
 
-	disable_irq_nosync_lockdep(dev->irq);
-	spin_lock(&ei_local->page_lock);
+	spin_lock_irqsave(&ei_local->page_lock, flags);
 
 	/* Try to restart the card.  Perhaps the user has fixed something. */
 	ei_reset_8390(dev);
 	__NS8390_init(dev, 1);
 
-	spin_unlock(&ei_local->page_lock);
-	enable_irq_lockdep(dev->irq);
+	spin_unlock_irqrestore(&ei_local->page_lock, flags);
 	netif_wake_queue(dev);
 }
 
@@ -323,17 +321,11 @@ static netdev_tx_t __ei_start_xmit(struc
 
 	spin_lock_irqsave(&ei_local->page_lock, flags);
 	ei_outb_p(0x00, e8390_base + EN0_IMR);
-	spin_unlock_irqrestore(&ei_local->page_lock, flags);
-
 
 	/*
 	 *	Slow phase with lock held.
 	 */
 
-	disable_irq_nosync_lockdep_irqsave(dev->irq, &flags);
-
-	spin_lock(&ei_local->page_lock);
-
 	ei_local->irqlock = 1;
 
 	/*
@@ -368,8 +360,7 @@ static netdev_tx_t __ei_start_xmit(struc
 		ei_local->irqlock = 0;
 		netif_stop_queue(dev);
 		ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
-		spin_unlock(&ei_local->page_lock);
-		enable_irq_lockdep_irqrestore(dev->irq, &flags);
+		spin_unlock_irqrestore(&ei_local->page_lock, flags);
 		dev->stats.tx_errors++;
 		return NETDEV_TX_BUSY;
 	}
@@ -409,8 +400,7 @@ static netdev_tx_t __ei_start_xmit(struc
 	ei_local->irqlock = 0;
 	ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
 
-	spin_unlock(&ei_local->page_lock);
-	enable_irq_lockdep_irqrestore(dev->irq, &flags);
+	spin_unlock_irqrestore(&ei_local->page_lock, flags);
 
 	dev_kfree_skb (skb);
 	dev->stats.tx_bytes += send_length;
@@ -526,9 +516,11 @@ static irqreturn_t __ei_interrupt(int ir
 #ifdef CONFIG_NET_POLL_CONTROLLER
 static void __ei_poll(struct net_device *dev)
 {
-	disable_irq(dev->irq);
+	unsigned long flags;
+
+	local_irq_save(flags);
 	__ei_interrupt(dev->irq, dev);
-	enable_irq(dev->irq);
+	local_irq_restore(flags);
 }
 #endif
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.34-rc2] pcnet_cs: add new id
  2010-02-27 23:34               ` [PATCH kernel 2.6.33] axnet_cs: add new id Ken Kawasaki
  2010-02-28  9:03                 ` David Miller
@ 2010-03-27 20:55                 ` Ken Kawasaki
  2010-03-27 23:56                   ` David Miller
  2010-04-03 21:14                   ` [PATCH kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address" Ken Kawasaki
  2010-06-12 10:17                 ` [PATCH kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card) Ken Kawasaki
  2 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-03-27 20:55 UTC (permalink / raw)
  To: netdev


pcnet_cs:
 *add new id (Allied Telesis LM33-PCM-T Lan&Modem multifunction card)
 *use PROD_ID for LA-PCM.(because LA-PCM and LM33-PCM-T use the same MANF_ID).

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.34-rc2/drivers/net/pcmcia/pcnet_cs.c.orig	2010-03-21 20:39:59.000000000 +0900
+++ linux-2.6.34-rc2/drivers/net/pcmcia/pcnet_cs.c	2010-03-27 14:42:34.000000000 +0900
@@ -1549,6 +1549,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x021b, 0x0101),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x08a1, 0xc0ab),
 	PCMCIA_PFC_DEVICE_PROD_ID12(0, "AnyCom", "Fast Ethernet + 56K COMBO", 0x578ba6e7, 0xb0ac62c4),
+	PCMCIA_PFC_DEVICE_PROD_ID12(0, "ATKK", "LM33-PCM-T", 0xba9eb7e2, 0x077c174e),
 	PCMCIA_PFC_DEVICE_PROD_ID12(0, "D-Link", "DME336T", 0x1a424a1c, 0xb23897ff),
 	PCMCIA_PFC_DEVICE_PROD_ID12(0, "Grey Cell", "GCS3000", 0x2a151fac, 0x48b932ae),
 	PCMCIA_PFC_DEVICE_PROD_ID12(0, "Linksys", "EtherFast 10&100 + 56K PC Card (PCMLM56)", 0x0733cc81, 0xb3765033),
@@ -1740,7 +1741,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "cis/DP83903.cis"),
-	PCMCIA_DEVICE_CIS_MANF_CARD(0xc00f, 0x0002, "cis/LA-PCM.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("Allied Telesis,K.K", "Ethernet LAN Card", 0x2ad62f3c, 0x9fd2f0a2, "cis/LA-PCM.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("KTI", "PE520 PLUS", 0xad180345, 0x9d58d392, "cis/PE520.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "cis/NE2K.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("PMX   ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "cis/PE-200.cis"),
--- linux-2.6.34-rc2/drivers/serial/serial_cs.c.orig	2010-03-22 06:53:31.000000000 +0900
+++ linux-2.6.34-rc2/drivers/serial/serial_cs.c	2010-03-27 14:42:53.000000000 +0900
@@ -745,6 +745,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "REM10", 0x2e3ee845, 0x76df1d29),
 	PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "XEM5600", 0x2e3ee845, 0xf1403719),
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "AnyCom", "Fast Ethernet + 56K COMBO", 0x578ba6e7, 0xb0ac62c4),
+	PCMCIA_PFC_DEVICE_PROD_ID12(1, "ATKK", "LM33-PCM-T", 0xba9eb7e2, 0x077c174e),
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "D-Link", "DME336T", 0x1a424a1c, 0xb23897ff),
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "Gateway 2000", "XJEM3336", 0xdd9989be, 0x662c394c),
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "Grey Cell", "GCS3000", 0x2a151fac, 0x48b932ae),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.34-rc2] pcnet_cs: add new id
  2010-03-27 20:55                 ` [PATCH kernel 2.6.34-rc2] pcnet_cs: " Ken Kawasaki
@ 2010-03-27 23:56                   ` David Miller
  2010-04-03 21:14                   ` [PATCH kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address" Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-03-27 23:56 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 28 Mar 2010 05:55:37 +0900

> 
> pcnet_cs:
>  *add new id (Allied Telesis LM33-PCM-T Lan&Modem multifunction card)
>  *use PROD_ID for LA-PCM.(because LA-PCM and LM33-PCM-T use the same MANF_ID).
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks Ken.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address"
  2010-03-27 20:55                 ` [PATCH kernel 2.6.34-rc2] pcnet_cs: " Ken Kawasaki
  2010-03-27 23:56                   ` David Miller
@ 2010-04-03 21:14                   ` Ken Kawasaki
  2010-04-03 22:07                     ` David Miller
  2010-04-10 22:50                     ` [PATCH kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-04-03 21:14 UTC (permalink / raw)
  To: netdev; +Cc: ken_kawasaki


smc91c92_cs:
 *cvt_ascii_address returns 0, if success.
 *call free_netdev, if we can't find hardware address.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.34-rc3/drivers/net/pcmcia/smc91c92_cs.c.orig	2010-04-03 09:41:20.000000000 +0900
+++ linux-2.6.34-rc3/drivers/net/pcmcia/smc91c92_cs.c	2010-04-03 20:34:06.000000000 +0900
@@ -493,13 +493,14 @@ static int pcmcia_get_versmac(struct pcm
 {
 	struct net_device *dev = priv;
 	cisparse_t parse;
+	u8 *buf;
 
 	if (pcmcia_parse_tuple(tuple, &parse))
 		return -EINVAL;
 
-	if ((parse.version_1.ns > 3) &&
-	    (cvt_ascii_address(dev,
-			       (parse.version_1.str + parse.version_1.ofs[3]))))
+	buf = parse.version_1.str + parse.version_1.ofs[3];
+
+	if ((parse.version_1.ns > 3) && (cvt_ascii_address(dev, buf) == 0))
 		return 0;
 
 	return -EINVAL;
@@ -528,7 +529,7 @@ static int mhz_setup(struct pcmcia_devic
     len = pcmcia_get_tuple(link, 0x81, &buf);
     if (buf && len >= 13) {
 	    buf[12] = '\0';
-	    if (cvt_ascii_address(dev, buf))
+	    if (cvt_ascii_address(dev, buf) == 0)
 		    rc = 0;
     }
     kfree(buf);
@@ -910,7 +911,7 @@ static int smc91c92_config(struct pcmcia
 
     if (i != 0) {
 	printk(KERN_NOTICE "smc91c92_cs: Unable to find hardware address.\n");
-	goto config_undo;
+	goto config_failed;
     }
 
     smc->duplex = 0;
@@ -998,6 +999,7 @@ config_undo:
     unregister_netdev(dev);
 config_failed:
     smc91c92_release(link);
+    free_netdev(dev);
     return -ENODEV;
 } /* smc91c92_config */
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address"
  2010-04-03 21:14                   ` [PATCH kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address" Ken Kawasaki
@ 2010-04-03 22:07                     ` David Miller
  2010-04-10 22:50                     ` [PATCH kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-04-03 22:07 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 4 Apr 2010 06:14:34 +0900

> 
> smc91c92_cs:
>  *cvt_ascii_address returns 0, if success.
>  *call free_netdev, if we can't find hardware address.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char
  2010-04-03 21:14                   ` [PATCH kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address" Ken Kawasaki
  2010-04-03 22:07                     ` David Miller
@ 2010-04-10 22:50                     ` Ken Kawasaki
  2010-04-13 10:09                       ` David Miller
  2010-04-24 20:37                       ` [PATCH kernel 2.6.34-rc5] smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt() Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-04-10 22:50 UTC (permalink / raw)
  To: netdev


smc91c92_cs:
  * define multicast_table as unsigned char
  * remove unnecessary "#ifndef final_version"

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.34-rc3-git9/drivers/net/pcmcia/smc91c92_cs.c.orig	2010-04-10 07:08:09.000000000 +0900
+++ linux-2.6.34-rc3-git9/drivers/net/pcmcia/smc91c92_cs.c	2010-04-10 07:31:47.000000000 +0900
@@ -1608,9 +1608,12 @@ static void set_rx_mode(struct net_devic
 {
     unsigned int ioaddr = dev->base_addr;
     struct smc_private *smc = netdev_priv(dev);
-    u_int multicast_table[ 2 ] = { 0, };
+    unsigned char multicast_table[8];
     unsigned long flags;
     u_short rx_cfg_setting;
+    int i;
+
+    memset(multicast_table, 0, sizeof(multicast_table));
 
     if (dev->flags & IFF_PROMISC) {
 	rx_cfg_setting = RxStripCRC | RxEnable | RxPromisc | RxAllMulti;
@@ -1622,10 +1625,6 @@ static void set_rx_mode(struct net_devic
 
 	    netdev_for_each_mc_addr(mc_addr, dev) {
 		u_int position = ether_crc(6, mc_addr->dmi_addr);
-#ifndef final_version		/* Verify multicast address. */
-		if ((mc_addr->dmi_addr[0] & 1) == 0)
-		    continue;
-#endif
 		multicast_table[position >> 29] |= 1 << ((position >> 26) & 7);
 	    }
 	}
@@ -1635,8 +1634,8 @@ static void set_rx_mode(struct net_devic
     /* Load MC table and Rx setting into the chip without interrupts. */
     spin_lock_irqsave(&smc->lock, flags);
     SMC_SELECT_BANK(3);
-    outl(multicast_table[0], ioaddr + MULTICAST0);
-    outl(multicast_table[1], ioaddr + MULTICAST4);
+    for (i = 0; i < 8; i++)
+	outb(multicast_table[i], ioaddr + MULTICAST0 + i);
     SMC_SELECT_BANK(0);
     outw(rx_cfg_setting, ioaddr + RCR);
     SMC_SELECT_BANK(2);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char
  2010-04-10 22:50                     ` [PATCH kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char Ken Kawasaki
@ 2010-04-13 10:09                       ` David Miller
  2010-04-24 20:37                       ` [PATCH kernel 2.6.34-rc5] smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt() Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-04-13 10:09 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 11 Apr 2010 07:50:14 +0900

> 
> smc91c92_cs:
>   * define multicast_table as unsigned char
>   * remove unnecessary "#ifndef final_version"
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

It is clear there are not too many testers of multicast
with this driver :-)

Thanks for fixing this bug, patch applied.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.34-rc5] smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt()
  2010-04-10 22:50                     ` [PATCH kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char Ken Kawasaki
  2010-04-13 10:09                       ` David Miller
@ 2010-04-24 20:37                       ` Ken Kawasaki
  2010-04-27 21:47                         ` David Miller
  1 sibling, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2010-04-24 20:37 UTC (permalink / raw)
  To: netdev


smc91c92_cs:
  * spin_unlock_irqrestore before calling smc_interrupt() in media_check()
     to avoid lockup.
  * use spin_lock_irqsave for ethtool function.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.34-rc5/drivers/net/pcmcia/smc91c92_cs.c.orig	2010-04-24 07:33:50.000000000 +0900
+++ linux-2.6.34-rc5/drivers/net/pcmcia/smc91c92_cs.c	2010-04-24 07:42:44.000000000 +0900
@@ -1804,23 +1804,30 @@ static void media_check(u_long arg)
     SMC_SELECT_BANK(1);
     media |= (inw(ioaddr + CONFIG) & CFG_AUI_SELECT) ? 2 : 1;
 
+    SMC_SELECT_BANK(saved_bank);
+    spin_unlock_irqrestore(&smc->lock, flags);
+
     /* Check for pending interrupt with watchdog flag set: with
        this, we can limp along even if the interrupt is blocked */
     if (smc->watchdog++ && ((i>>8) & i)) {
 	if (!smc->fast_poll)
 	    printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
+	local_irq_save(flags);
 	smc_interrupt(dev->irq, dev);
+	local_irq_restore(flags);
 	smc->fast_poll = HZ;
     }
     if (smc->fast_poll) {
 	smc->fast_poll--;
 	smc->media.expires = jiffies + HZ/100;
 	add_timer(&smc->media);
-	SMC_SELECT_BANK(saved_bank);
-	spin_unlock_irqrestore(&smc->lock, flags);
 	return;
     }
 
+    spin_lock_irqsave(&smc->lock, flags);
+
+    saved_bank = inw(ioaddr + BANK_SELECT);
+
     if (smc->cfg & CFG_MII_SELECT) {
 	if (smc->mii_if.phy_id < 0)
 	    goto reschedule;
@@ -1978,15 +1985,16 @@ static int smc_get_settings(struct net_d
 	unsigned int ioaddr = dev->base_addr;
 	u16 saved_bank = inw(ioaddr + BANK_SELECT);
 	int ret;
+	unsigned long flags;
 
-	spin_lock_irq(&smc->lock);
+	spin_lock_irqsave(&smc->lock, flags);
 	SMC_SELECT_BANK(3);
 	if (smc->cfg & CFG_MII_SELECT)
 		ret = mii_ethtool_gset(&smc->mii_if, ecmd);
 	else
 		ret = smc_netdev_get_ecmd(dev, ecmd);
 	SMC_SELECT_BANK(saved_bank);
-	spin_unlock_irq(&smc->lock);
+	spin_unlock_irqrestore(&smc->lock, flags);
 	return ret;
 }
 
@@ -1996,15 +2004,16 @@ static int smc_set_settings(struct net_d
 	unsigned int ioaddr = dev->base_addr;
 	u16 saved_bank = inw(ioaddr + BANK_SELECT);
 	int ret;
+	unsigned long flags;
 
-	spin_lock_irq(&smc->lock);
+	spin_lock_irqsave(&smc->lock, flags);
 	SMC_SELECT_BANK(3);
 	if (smc->cfg & CFG_MII_SELECT)
 		ret = mii_ethtool_sset(&smc->mii_if, ecmd);
 	else
 		ret = smc_netdev_set_ecmd(dev, ecmd);
 	SMC_SELECT_BANK(saved_bank);
-	spin_unlock_irq(&smc->lock);
+	spin_unlock_irqrestore(&smc->lock, flags);
 	return ret;
 }
 
@@ -2014,12 +2023,13 @@ static u32 smc_get_link(struct net_devic
 	unsigned int ioaddr = dev->base_addr;
 	u16 saved_bank = inw(ioaddr + BANK_SELECT);
 	u32 ret;
+	unsigned long flags;
 
-	spin_lock_irq(&smc->lock);
+	spin_lock_irqsave(&smc->lock, flags);
 	SMC_SELECT_BANK(3);
 	ret = smc_link_ok(dev);
 	SMC_SELECT_BANK(saved_bank);
-	spin_unlock_irq(&smc->lock);
+	spin_unlock_irqrestore(&smc->lock, flags);
 	return ret;
 }
 
@@ -2056,16 +2066,17 @@ static int smc_ioctl (struct net_device 
 	int rc = 0;
 	u16 saved_bank;
 	unsigned int ioaddr = dev->base_addr;
+	unsigned long flags;
 
 	if (!netif_running(dev))
 		return -EINVAL;
 
-	spin_lock_irq(&smc->lock);
+	spin_lock_irqsave(&smc->lock, flags);
 	saved_bank = inw(ioaddr + BANK_SELECT);
 	SMC_SELECT_BANK(3);
 	rc = generic_mii_ioctl(&smc->mii_if, mii, cmd, NULL);
 	SMC_SELECT_BANK(saved_bank);
-	spin_unlock_irq(&smc->lock);
+	spin_unlock_irqrestore(&smc->lock, flags);
 	return rc;
 }
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.34-rc5] smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt()
  2010-04-24 20:37                       ` [PATCH kernel 2.6.34-rc5] smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt() Ken Kawasaki
@ 2010-04-27 21:47                         ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-04-27 21:47 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 25 Apr 2010 05:37:09 +0900

> 
> smc91c92_cs:
>   * spin_unlock_irqrestore before calling smc_interrupt() in media_check()
>      to avoid lockup.
>   * use spin_lock_irqsave for ethtool function.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.34-rc5] lib8390: to be SMP safe
  2010-03-06 22:02         ` [PATCH kernel 2.6.33-git11] lib8390: use spin_lock_irqsave for locking Ken Kawasaki
@ 2010-05-03 10:43           ` Ken Kawasaki
  2010-05-06 20:47             ` Ken Kawasaki
  0 siblings, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2010-05-03 10:43 UTC (permalink / raw)
  To: netdev


lib8390:
	write the value "ENISR_ALL" to register "EN0_IMR"
	after enable_irq_lockdep_irqrestore. 

	This patch avoids frequent transmit error on SMP system.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.34-rc6/drivers/net/lib8390.c.orig	2010-05-02 16:49:57.000000000 +0900
+++ linux-2.6.34-rc6/drivers/net/lib8390.c	2010-05-02 18:09:18.000000000 +0900
@@ -367,9 +367,9 @@ static netdev_tx_t __ei_start_xmit(struc
 				dev->name, ei_local->tx1, ei_local->tx2, ei_local->lasttx);
 		ei_local->irqlock = 0;
 		netif_stop_queue(dev);
-		ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
 		spin_unlock(&ei_local->page_lock);
 		enable_irq_lockdep_irqrestore(dev->irq, &flags);
+		ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
 		dev->stats.tx_errors++;
 		return NETDEV_TX_BUSY;
 	}
@@ -407,10 +407,10 @@ static netdev_tx_t __ei_start_xmit(struc
 
 	/* Turn 8390 interrupts back on. */
 	ei_local->irqlock = 0;
-	ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
 
 	spin_unlock(&ei_local->page_lock);
 	enable_irq_lockdep_irqrestore(dev->irq, &flags);
+	ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
 
 	dev_kfree_skb (skb);
 	dev->stats.tx_bytes += send_length;

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH  kernel 2.6.34-rc5] lib8390: to be SMP safe
  2010-05-03 10:43           ` [PATCH kernel 2.6.34-rc5] lib8390: to be SMP safe Ken Kawasaki
@ 2010-05-06 20:47             ` Ken Kawasaki
  0 siblings, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-05-06 20:47 UTC (permalink / raw)
  To: netdev


Sorry, I cancel this patch
and test it again.


Best Regards
Ken

> 
> lib8390:
> 	write the value "ENISR_ALL" to register "EN0_IMR"
> 	after enable_irq_lockdep_irqrestore. 
> 
> 	This patch avoids frequent transmit error on SMP system.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
> 
> ---
> 
> --- linux-2.6.34-rc6/drivers/net/lib8390.c.orig	2010-05-02 16:49:57.000000000 +0900
> +++ linux-2.6.34-rc6/drivers/net/lib8390.c	2010-05-02 18:09:18.000000000 +0900
> @@ -367,9 +367,9 @@ static netdev_tx_t __ei_start_xmit(struc
>  				dev->name, ei_local->tx1, ei_local->tx2, ei_local->lasttx);
>  		ei_local->irqlock = 0;
>  		netif_stop_queue(dev);
> -		ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
>  		spin_unlock(&ei_local->page_lock);
>  		enable_irq_lockdep_irqrestore(dev->irq, &flags);
> +		ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
>  		dev->stats.tx_errors++;
>  		return NETDEV_TX_BUSY;
>  	}
> @@ -407,10 +407,10 @@ static netdev_tx_t __ei_start_xmit(struc
>  
>  	/* Turn 8390 interrupts back on. */
>  	ei_local->irqlock = 0;
> -	ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
>  
>  	spin_unlock(&ei_local->page_lock);
>  	enable_irq_lockdep_irqrestore(dev->irq, &flags);
> +	ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
>  
>  	dev_kfree_skb (skb);
>  	dev->stats.tx_bytes += send_length;


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card)
  2010-02-27 23:34               ` [PATCH kernel 2.6.33] axnet_cs: add new id Ken Kawasaki
  2010-02-28  9:03                 ` David Miller
  2010-03-27 20:55                 ` [PATCH kernel 2.6.34-rc2] pcnet_cs: " Ken Kawasaki
@ 2010-06-12 10:17                 ` Ken Kawasaki
  2010-06-17  1:11                   ` David Miller
  2010-06-20  1:24                   ` [PATCH kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously Ken Kawasaki
  2 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-06-12 10:17 UTC (permalink / raw)
  To: netdev


pcnet_cs:
serial_cs:
    add new id (TOSHIBA Modem/LAN Card)

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.35-rc2/drivers/net/pcmcia/pcnet_cs.c.orig	2010-06-12 08:19:26.000000000 +0900
+++ linux-2.6.35-rc2/drivers/net/pcmcia/pcnet_cs.c	2010-06-12 08:21:35.000000000 +0900
@@ -1727,6 +1727,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(0, "TOSHIBA", "Modem/LAN Card", 0xb4585a1a, 0x53f922f8, "cis/PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(0, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(0, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(0, 0x0175, 0x0000, "cis/DP83903.cis"),
--- linux-2.6.35-rc2/drivers/serial/serial_cs.c.orig	2010-06-12 09:08:11.000000000 +0900
+++ linux-2.6.35-rc2/drivers/serial/serial_cs.c	2010-06-12 09:08:47.000000000 +0900
@@ -821,6 +821,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet", 0xf5f025c2, 0x338e8155, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "Psion Dacom", "Gold Card V34 Ethernet GSM", 0xf5f025c2, 0x4ae85d35, "cis/PCMLM28.cis"),
 	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "LINKSYS", "PCMLM28", 0xf7cb0b07, 0x66881874, "cis/PCMLM28.cis"),
+	PCMCIA_PFC_DEVICE_CIS_PROD_ID12(1, "TOSHIBA", "Modem/LAN Card", 0xb4585a1a, 0x53f922f8, "cis/PCMLM28.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID12(1, "DAYNA COMMUNICATIONS", "LAN AND MODEM MULTIFUNCTION", 0x8fdf8f89, 0xdd5ed9e8, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_PROD_ID4(1, "NSC MF LAN/Modem", 0x58fc6056, "cis/DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0556, "cis/3CCFEM556.cis"),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card)
  2010-06-12 10:17                 ` [PATCH kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card) Ken Kawasaki
@ 2010-06-17  1:11                   ` David Miller
  2010-06-20  1:24                   ` [PATCH kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-06-17  1:11 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sat, 12 Jun 2010 19:17:28 +0900

> 
> pcnet_cs:
> serial_cs:
>     add new id (TOSHIBA Modem/LAN Card)
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thanks.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously
  2010-06-12 10:17                 ` [PATCH kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card) Ken Kawasaki
  2010-06-17  1:11                   ` David Miller
@ 2010-06-20  1:24                   ` Ken Kawasaki
  2010-06-26  4:32                     ` David Miller
  2010-07-06 11:22                     ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-06-20  1:24 UTC (permalink / raw)
  To: netdev


smc91c92_cs:
  Fix the problem that lan & modem does not work simultaneously
  in the Megahertz multi-function card.
  We need to write MEGAHERTZ_ISR to retrigger interrupt.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

--

--- linux-2.6.35-rc3/drivers/net/pcmcia/smc91c92_cs.c.orig	2010-06-19 09:42:59.000000000 +0900
+++ linux-2.6.35-rc3/drivers/net/pcmcia/smc91c92_cs.c	2010-06-19 11:25:34.000000000 +0900
@@ -1505,12 +1505,20 @@ irq_done:
 	writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_LAN + CISREG_COR);
 	writeb(cor, smc->base + MOT_LAN + CISREG_COR);
     }
-#ifdef DOES_NOT_WORK
-    if (smc->base != NULL) { /* Megahertz MFC's */
-	readb(smc->base+MEGAHERTZ_ISR);
-	readb(smc->base+MEGAHERTZ_ISR);
+
+    if ((smc->base != NULL) &&  /* Megahertz MFC's */
+	(smc->manfid == MANFID_MEGAHERTZ) &&
+	(smc->cardid == PRODID_MEGAHERTZ_EM3288)) {
+
+	u_char tmp;
+	tmp = readb(smc->base+MEGAHERTZ_ISR);
+	tmp = readb(smc->base+MEGAHERTZ_ISR);
+
+	/* Retrigger interrupt if needed */
+	writeb(tmp, smc->base + MEGAHERTZ_ISR);
+	writeb(tmp, smc->base + MEGAHERTZ_ISR);
     }
-#endif
+
     spin_unlock(&smc->lock);
     return IRQ_RETVAL(handled);
 }

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously
  2010-06-20  1:24                   ` [PATCH kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously Ken Kawasaki
@ 2010-06-26  4:32                     ` David Miller
  2010-07-06 11:22                     ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-06-26  4:32 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 20 Jun 2010 10:24:27 +0900

> 
> smc91c92_cs:
>   Fix the problem that lan & modem does not work simultaneously
>   in the Megahertz multi-function card.
>   We need to write MEGAHERTZ_ISR to retrigger interrupt.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper
  2010-06-20  1:24                   ` [PATCH kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously Ken Kawasaki
  2010-06-26  4:32                     ` David Miller
@ 2010-07-06 11:22                     ` Ken Kawasaki
  2010-07-07 21:51                       ` David Miller
  2010-07-10 11:18                       ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-07-06 11:22 UTC (permalink / raw)
  To: netdev


axnet_cs:
    local_irq_save before calling ei_irq_wrapper.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c.orig	2010-07-04 08:28:15.000000000 +0900
+++ linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c	2010-07-04 08:40:23.000000000 +0900
@@ -606,6 +606,7 @@ static void ei_watchdog(u_long arg)
     unsigned int nic_base = dev->base_addr;
     unsigned int mii_addr = nic_base + AXNET_MII_EEP;
     u_short link;
+    unsigned long flags;
 
     if (!netif_device_present(dev)) goto reschedule;
 
@@ -614,7 +615,10 @@ static void ei_watchdog(u_long arg)
     if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) {
 	if (!info->fast_poll)
 	    printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
+	local_irq_save(flags);
 	ei_irq_wrapper(dev->irq, dev);
+	local_irq_restore(flags);
+
 	info->fast_poll = HZ;
     }
     if (info->fast_poll) {

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper
  2010-07-06 11:22                     ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper Ken Kawasaki
@ 2010-07-07 21:51                       ` David Miller
  2010-07-10 11:18                       ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-07-07 21:51 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Tue, 6 Jul 2010 20:22:43 +0900

> 
> axnet_cs:
>     local_irq_save before calling ei_irq_wrapper.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

An interrupt handler may not assume that interrupts are disabled when
it is invoked.

The axnet_interrupt() code needs to be fixed to use
spin_lock_irqsave() et al.

Then, this change of your's is no longer needed.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt
  2010-07-06 11:22                     ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper Ken Kawasaki
  2010-07-07 21:51                       ` David Miller
@ 2010-07-10 11:18                       ` Ken Kawasaki
  2010-07-11  2:46                         ` Ben Hutchings
  2010-08-28 22:45                         ` [PATCH kernel 2.6.36-rc2] pcnet_cs: add new_id Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-07-10 11:18 UTC (permalink / raw)
  To: netdev


axnet_cs:
    use spin_lock_irqsave instead of spin_lock in ax_interrupt

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c.orig	2010-07-04 08:28:15.000000000 +0900
+++ linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c	2010-07-10 19:07:20.000000000 +0900
@@ -1168,6 +1168,7 @@ static irqreturn_t ax_interrupt(int irq,
 	int interrupts, nr_serviced = 0, i;
 	struct ei_device *ei_local;
     	int handled = 0;
+	unsigned long flags;
 
 	e8390_base = dev->base_addr;
 	ei_local = netdev_priv(dev);
@@ -1176,7 +1177,7 @@ static irqreturn_t ax_interrupt(int irq,
 	 *	Protect the irq test too.
 	 */
 	 
-	spin_lock(&ei_local->page_lock);
+	spin_lock_irqsave(&ei_local->page_lock, flags);
 
 	if (ei_local->irqlock) 
 	{
@@ -1188,7 +1189,7 @@ static irqreturn_t ax_interrupt(int irq,
 			   dev->name, inb_p(e8390_base + EN0_ISR),
 			   inb_p(e8390_base + EN0_IMR));
 #endif
-		spin_unlock(&ei_local->page_lock);
+		spin_unlock_irqrestore(&ei_local->page_lock, flags);
 		return IRQ_NONE;
 	}
     
@@ -1261,7 +1262,7 @@ static irqreturn_t ax_interrupt(int irq,
 	ei_local->irqlock = 0;
 	outb_p(ENISR_ALL, e8390_base + EN0_IMR);
 
-	spin_unlock(&ei_local->page_lock);
+	spin_unlock_irqrestore(&ei_local->page_lock, flags);
 	return IRQ_RETVAL(handled);
 }
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH  kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt
  2010-07-10 11:18                       ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt Ken Kawasaki
@ 2010-07-11  2:46                         ` Ben Hutchings
  2010-07-11  2:49                           ` David Miller
  2010-08-28 22:45                         ` [PATCH kernel 2.6.36-rc2] pcnet_cs: add new_id Ken Kawasaki
  1 sibling, 1 reply; 90+ messages in thread
From: Ben Hutchings @ 2010-07-11  2:46 UTC (permalink / raw)
  To: Ken Kawasaki; +Cc: netdev

On Sat, 2010-07-10 at 20:18 +0900, Ken Kawasaki wrote:
> axnet_cs:
>     use spin_lock_irqsave instead of spin_lock in ax_interrupt
[...]

I assume this is because it's now called from ei_watchdog() and not only
from interrupt context.  Perhaps you should explain that in the commit
message.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt
  2010-07-11  2:46                         ` Ben Hutchings
@ 2010-07-11  2:49                           ` David Miller
  2010-07-11  3:12                             ` Ben Hutchings
  0 siblings, 1 reply; 90+ messages in thread
From: David Miller @ 2010-07-11  2:49 UTC (permalink / raw)
  To: bhutchings; +Cc: ken_kawasaki, netdev

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Sun, 11 Jul 2010 03:46:28 +0100

> On Sat, 2010-07-10 at 20:18 +0900, Ken Kawasaki wrote:
>> axnet_cs:
>>     use spin_lock_irqsave instead of spin_lock in ax_interrupt
> [...]
> 
> I assume this is because it's now called from ei_watchdog() and not only
> from interrupt context.  Perhaps you should explain that in the commit
> message.

No, interrupt handlers in general may not assume that interrupts
are off or on when they are invoked.

Therefore they must use irqflags saving/restoring.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt
  2010-07-11  2:49                           ` David Miller
@ 2010-07-11  3:12                             ` Ben Hutchings
  2010-07-13  3:08                               ` David Miller
  0 siblings, 1 reply; 90+ messages in thread
From: Ben Hutchings @ 2010-07-11  3:12 UTC (permalink / raw)
  To: David Miller; +Cc: ken_kawasaki, netdev

On Sat, 2010-07-10 at 19:49 -0700, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Sun, 11 Jul 2010 03:46:28 +0100
> 
> > On Sat, 2010-07-10 at 20:18 +0900, Ken Kawasaki wrote:
> >> axnet_cs:
> >>     use spin_lock_irqsave instead of spin_lock in ax_interrupt
> > [...]
> > 
> > I assume this is because it's now called from ei_watchdog() and not only
> > from interrupt context.  Perhaps you should explain that in the commit
> > message.
> 
> No, interrupt handlers in general may not assume that interrupts
> are off or on when they are invoked.
> 
> Therefore they must use irqflags saving/restoring.

But an interrupt handler will not be called recursively for the same
IRQ.  Since this device only uses one IRQ, surely it was OK to use
spin_lock() in this function so long as it was only called from the
interrupt handler.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt
  2010-07-11  3:12                             ` Ben Hutchings
@ 2010-07-13  3:08                               ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-07-13  3:08 UTC (permalink / raw)
  To: bhutchings; +Cc: ken_kawasaki, netdev

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Sun, 11 Jul 2010 04:12:34 +0100

> But an interrupt handler will not be called recursively for the same
> IRQ.  Since this device only uses one IRQ, surely it was OK to use
> spin_lock() in this function so long as it was only called from the
> interrupt handler.

It seems your right, I'll make a note about the real reason we're
doing this in the commit message.

But frankly anything else is dangerous.  Especially if one intends to
support ->poll_controller() which we pretty much expect every modern
and future driver to do.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.36-rc2] pcnet_cs: add new_id
  2010-07-10 11:18                       ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt Ken Kawasaki
  2010-07-11  2:46                         ` Ben Hutchings
@ 2010-08-28 22:45                         ` Ken Kawasaki
  2010-08-28 23:07                           ` David Miller
  2010-10-29 22:17                           ` [PATCH kernel 2.6.36-git10] " Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-08-28 22:45 UTC (permalink / raw)
  To: netdev


pcnet_cs:
    add new_id: "KENTRONICS KEP-230" 10Base-T PCMCIA card.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.36-rc2/drivers/net/pcmcia/pcnet_cs.c.orig	2010-08-28 09:34:10.000000000 +0900
+++ linux-2.6.36-rc2/drivers/net/pcmcia/pcnet_cs.c	2010-08-28 09:36:53.000000000 +0900
@@ -1637,6 +1637,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCETTX", 0x547e66dc, 0x6fc5459b),
 	PCMCIA_DEVICE_PROD_ID12("iPort", "10/100 Ethernet Card", 0x56c538d2, 0x11b0ffc0),
 	PCMCIA_DEVICE_PROD_ID12("KANSAI ELECTRIC CO.,LTD", "KLA-PCM/T", 0xb18dc3b4, 0xcc51a956),
+	PCMCIA_DEVICE_PROD_ID12("KENTRONICS", "KEP-230", 0xaf8144c9, 0x868f6616),
 	PCMCIA_DEVICE_PROD_ID12("KCI", "PE520 PCMCIA Ethernet Adapter", 0xa89b87d3, 0x1eb88e64),
 	PCMCIA_DEVICE_PROD_ID12("KINGMAX", "EN10T2T", 0x7bcb459a, 0xa5c81fa5),
 	PCMCIA_DEVICE_PROD_ID12("Kingston", "KNE-PC2", 0x1128e633, 0xce2a89b3),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.36-rc2] pcnet_cs: add new_id
  2010-08-28 22:45                         ` [PATCH kernel 2.6.36-rc2] pcnet_cs: add new_id Ken Kawasaki
@ 2010-08-28 23:07                           ` David Miller
  2010-10-29 22:17                           ` [PATCH kernel 2.6.36-git10] " Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-08-28 23:07 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 29 Aug 2010 07:45:01 +0900

> 
> pcnet_cs:
>     add new_id: "KENTRONICS KEP-230" 10Base-T PCMCIA card.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.36-git10] pcnet_cs: add new_id
  2010-08-28 22:45                         ` [PATCH kernel 2.6.36-rc2] pcnet_cs: add new_id Ken Kawasaki
  2010-08-28 23:07                           ` David Miller
@ 2010-10-29 22:17                           ` Ken Kawasaki
  2010-10-30 23:49                             ` David Miller
                                               ` (2 more replies)
  1 sibling, 3 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-10-29 22:17 UTC (permalink / raw)
  To: netdev


pcnet_cs:
    add new_id: "corega Ether CF-TD" 10Base-T PCMCIA card.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.36-git10/drivers/net/pcmcia/pcnet_cs.c.orig	2010-10-29 22:11:43.000000000 +0900
+++ linux-2.6.36-git10/drivers/net/pcmcia/pcnet_cs.c	2010-10-29 22:15:30.000000000 +0900
@@ -1536,6 +1536,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID12("COMPU-SHACK", "FASTline PCMCIA 10/100 Fast-Ethernet", 0xfa2e424d, 0x3953d9b9),
 	PCMCIA_DEVICE_PROD_ID12("CONTEC", "C-NET(PC)C-10L", 0x21cab552, 0xf6f90722),
 	PCMCIA_DEVICE_PROD_ID12("corega", "FEther PCC-TXF", 0x0a21501a, 0xa51564a2),
+	PCMCIA_DEVICE_PROD_ID12("corega", "Ether CF-TD", 0x0a21501a, 0x6589340a),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-T", 0x5261440f, 0xfa9d85bd),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-TD", 0x5261440f, 0xc49bd73d),
 	PCMCIA_DEVICE_PROD_ID12("Corega K.K.", "corega EtherII PCC-TD", 0xd4fdcbd8, 0xc49bd73d),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.36-git10] pcnet_cs: add new_id
  2010-10-29 22:17                           ` [PATCH kernel 2.6.36-git10] " Ken Kawasaki
@ 2010-10-30 23:49                             ` David Miller
  2010-11-06 15:11                             ` [PATCH kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip Ken Kawasaki
  2011-01-11 11:55                             ` [PATCH kernel 2.6.37] pcnet_cs: add new_id Ken Kawasaki
  2 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-10-30 23:49 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sat, 30 Oct 2010 07:17:51 +0900

> 
> pcnet_cs:
>     add new_id: "corega Ether CF-TD" 10Base-T PCMCIA card.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip
  2010-10-29 22:17                           ` [PATCH kernel 2.6.36-git10] " Ken Kawasaki
  2010-10-30 23:49                             ` David Miller
@ 2010-11-06 15:11                             ` Ken Kawasaki
  2010-11-12 22:01                               ` David Miller
  2010-11-13 23:42                               ` [PATCH kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021] Ken Kawasaki
  2011-01-11 11:55                             ` [PATCH kernel 2.6.37] pcnet_cs: add new_id Ken Kawasaki
  2 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-11-06 15:11 UTC (permalink / raw)
  To: netdev


axnet_cs:
    Some Ax88790 chip need to reinitialize the CISREG_CCSR register
    after resume.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.37-rc1/drivers/net/pcmcia/axnet_cs.c.orig	2010-11-06 07:48:17.000000000 +0900
+++ linux-2.6.37-rc1/drivers/net/pcmcia/axnet_cs.c	2010-11-06 08:08:40.000000000 +0900
@@ -111,13 +111,14 @@ static irqreturn_t ax_interrupt(int irq,
 CISREG_CCSR
 typedef struct axnet_dev_t {
 	struct pcmcia_device	*p_dev;
-    caddr_t		base;
-    struct timer_list	watchdog;
-    int			stale, fast_poll;
-    u_short		link_status;
-    u_char		duplex_flag;
-    int			phy_id;
-    int			flags;
+	caddr_t	base;
+	struct timer_list	watchdog;
+	int	stale, fast_poll;
+	u_short	link_status;
+	u_char	duplex_flag;
+	int	phy_id;
+	int	flags;
+	int	active_low;
 } axnet_dev_t;
 
 static inline axnet_dev_t *PRIV(struct net_device *dev)
@@ -322,6 +323,8 @@ static int axnet_config(struct pcmcia_de
     if (info->flags & IS_AX88790)
 	outb(0x10, dev->base_addr + AXNET_GPIO);  /* select Internal PHY */
 
+    info->active_low = 0;
+
     for (i = 0; i < 32; i++) {
 	j = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 1);
 	j2 = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 2);
@@ -329,15 +332,18 @@ static int axnet_config(struct pcmcia_de
 	if ((j != 0) && (j != 0xffff)) break;
     }
 
-    /* Maybe PHY is in power down mode. (PPD_SET = 1) 
-       Bit 2 of CCSR is active low. */ 
     if (i == 32) {
+	/* Maybe PHY is in power down mode. (PPD_SET = 1)
+	   Bit 2 of CCSR is active low. */
 	pcmcia_write_config_byte(link, CISREG_CCSR, 0x04);
 	for (i = 0; i < 32; i++) {
 	    j = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 1);
 	    j2 = mdio_read(dev->base_addr + AXNET_MII_EEP, i, 2);
 	    if (j == j2) continue;
-	    if ((j != 0) && (j != 0xffff)) break;
+	    if ((j != 0) && (j != 0xffff)) {
+		info->active_low = 1;
+		break;
+	    }
 	}
     }
 
@@ -383,8 +389,12 @@ static int axnet_suspend(struct pcmcia_d
 static int axnet_resume(struct pcmcia_device *link)
 {
 	struct net_device *dev = link->priv;
+	axnet_dev_t *info = PRIV(dev);
 
 	if (link->open) {
+		if (info->active_low == 1)
+			pcmcia_write_config_byte(link, CISREG_CCSR, 0x04);
+
 		axnet_reset_8390(dev);
 		AX88190_init(dev, 1);
 		netif_device_attach(dev);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip
  2010-11-06 15:11                             ` [PATCH kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip Ken Kawasaki
@ 2010-11-12 22:01                               ` David Miller
  2010-11-13 23:42                               ` [PATCH kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021] Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-11-12 22:01 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 7 Nov 2010 00:11:24 +0900

> 
> axnet_cs:
>     Some Ax88790 chip need to reinitialize the CISREG_CCSR register
>     after resume.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021]
  2010-11-06 15:11                             ` [PATCH kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip Ken Kawasaki
  2010-11-12 22:01                               ` David Miller
@ 2010-11-13 23:42                               ` Ken Kawasaki
  2010-11-18 18:45                                 ` David Miller
  2010-12-13 12:27                                 ` [PATCH kernel 2.6.37-rc5] axnet_cs: move id (0x1bf, 0x2328) to axnet_cs Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2010-11-13 23:42 UTC (permalink / raw)
  To: netdev


ipg.c:
  The id [SUNDANCE, 0x1021] (=[0x13f0, 0x1021]) is defined
  at dl2k.h and ipg.c.
  But this device works better with dl2k driver.
  
  This problem is similar with the commit 
  [25cca5352712561fba97bd37c495593d641c1d39
  ipg: Remove device claimed by dl2k from pci id table]
  at 11 Feb 2010.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.37-rc1/drivers/net/ipg.c.orig	2010-11-13 19:54:53.000000000 +0900
+++ linux-2.6.37-rc1/drivers/net/ipg.c	2010-11-13 19:57:03.000000000 +0900
@@ -88,16 +88,14 @@ static const char *ipg_brand_name[] = {
 	"IC PLUS IP1000 1000/100/10 based NIC",
 	"Sundance Technology ST2021 based NIC",
 	"Tamarack Microelectronics TC9020/9021 based NIC",
-	"Tamarack Microelectronics TC9020/9021 based NIC",
 	"D-Link NIC IP1000A"
 };
 
 static DEFINE_PCI_DEVICE_TABLE(ipg_pci_tbl) = {
 	{ PCI_VDEVICE(SUNDANCE,	0x1023), 0 },
 	{ PCI_VDEVICE(SUNDANCE,	0x2021), 1 },
-	{ PCI_VDEVICE(SUNDANCE,	0x1021), 2 },
-	{ PCI_VDEVICE(DLINK,	0x9021), 3 },
-	{ PCI_VDEVICE(DLINK,	0x4020), 4 },
+	{ PCI_VDEVICE(DLINK,	0x9021), 2 },
+	{ PCI_VDEVICE(DLINK,	0x4020), 3 },
 	{ 0, }
 };
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021]
  2010-11-13 23:42                               ` [PATCH kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021] Ken Kawasaki
@ 2010-11-18 18:45                                 ` David Miller
  2010-12-13 12:27                                 ` [PATCH kernel 2.6.37-rc5] axnet_cs: move id (0x1bf, 0x2328) to axnet_cs Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2010-11-18 18:45 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 14 Nov 2010 08:42:08 +0900

> 
> ipg.c:
>   The id [SUNDANCE, 0x1021] (=[0x13f0, 0x1021]) is defined
>   at dl2k.h and ipg.c.
>   But this device works better with dl2k driver.
>   
>   This problem is similar with the commit 
>   [25cca5352712561fba97bd37c495593d641c1d39
>   ipg: Remove device claimed by dl2k from pci id table]
>   at 11 Feb 2010.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.37-rc5] axnet_cs: move id (0x1bf, 0x2328) to axnet_cs
  2010-11-13 23:42                               ` [PATCH kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021] Ken Kawasaki
  2010-11-18 18:45                                 ` David Miller
@ 2010-12-13 12:27                                 ` Ken Kawasaki
  2010-12-16 20:39                                   ` David Miller
  1 sibling, 1 reply; 90+ messages in thread
From: Ken Kawasaki @ 2010-12-13 12:27 UTC (permalink / raw)
  To: netdev


axnet_cs:
    Accton EN2328 or compatible (id: 0x01bf, 0x2328) uses Asix chip.
    So it works better with axnet_cs instead of pcnet_cs.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.37-rc5/drivers/net/pcmcia/axnet_cs.c.orig	2010-12-12 17:26:37.000000000 +0900
+++ linux-2.6.37-rc5/drivers/net/pcmcia/axnet_cs.c	2010-12-12 17:27:22.000000000 +0900
@@ -690,6 +690,7 @@ static void block_output(struct net_devi
 static struct pcmcia_device_id axnet_ids[] = {
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x016c, 0x0081),
 	PCMCIA_DEVICE_MANF_CARD(0x018a, 0x0301),
+	PCMCIA_DEVICE_MANF_CARD(0x01bf, 0x2328),
 	PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0301),
 	PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0303),
 	PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0309),
--- linux-2.6.37-rc5/drivers/net/pcmcia/pcnet_cs.c.orig	2010-12-12 17:26:31.000000000 +0900
+++ linux-2.6.37-rc5/drivers/net/pcmcia/pcnet_cs.c	2010-12-12 17:26:58.000000000 +0900
@@ -1493,7 +1493,6 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_MANF_CARD(0x0149, 0x4530),
 	PCMCIA_DEVICE_MANF_CARD(0x0149, 0xc1ab),
 	PCMCIA_DEVICE_MANF_CARD(0x0186, 0x0110),
-	PCMCIA_DEVICE_MANF_CARD(0x01bf, 0x2328),
 	PCMCIA_DEVICE_MANF_CARD(0x01bf, 0x8041),
 	PCMCIA_DEVICE_MANF_CARD(0x0213, 0x2452),
 	PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0300),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.37-rc5] axnet_cs: move id (0x1bf, 0x2328) to axnet_cs
  2010-12-13 12:27                                 ` [PATCH kernel 2.6.37-rc5] axnet_cs: move id (0x1bf, 0x2328) to axnet_cs Ken Kawasaki
@ 2010-12-16 20:39                                   ` David Miller
  0 siblings, 0 replies; 90+ messages in thread
From: David Miller @ 2010-12-16 20:39 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Mon, 13 Dec 2010 21:27:24 +0900

> 
> axnet_cs:
>     Accton EN2328 or compatible (id: 0x01bf, 0x2328) uses Asix chip.
>     So it works better with axnet_cs instead of pcnet_cs.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.37] pcnet_cs: add new_id
  2010-10-29 22:17                           ` [PATCH kernel 2.6.36-git10] " Ken Kawasaki
  2010-10-30 23:49                             ` David Miller
  2010-11-06 15:11                             ` [PATCH kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip Ken Kawasaki
@ 2011-01-11 11:55                             ` Ken Kawasaki
  2011-01-11 22:04                               ` David Miller
  2011-01-30 21:16                               ` [PATCH kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun Ken Kawasaki
  2 siblings, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2011-01-11 11:55 UTC (permalink / raw)
  To: netdev


pcnet_cs:
     add another ID of "corega Ether CF-TD" 10Base-T PCMCIA card.


Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.37-stock/drivers/net/pcmcia/pcnet_cs.c.orig	2011-01-10 09:42:52.944029984 +0900
+++ linux-2.6.37-stock/drivers/net/pcmcia/pcnet_cs.c	2011-01-10 09:45:40.493029972 +0900
@@ -1536,6 +1536,7 @@ static struct pcmcia_device_id pcnet_ids
 	PCMCIA_DEVICE_PROD_ID12("CONTEC", "C-NET(PC)C-10L", 0x21cab552, 0xf6f90722),
 	PCMCIA_DEVICE_PROD_ID12("corega", "FEther PCC-TXF", 0x0a21501a, 0xa51564a2),
 	PCMCIA_DEVICE_PROD_ID12("corega", "Ether CF-TD", 0x0a21501a, 0x6589340a),
+	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega Ether CF-TD LAN Card", 0x5261440f, 0x8797663b),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-T", 0x5261440f, 0xfa9d85bd),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "corega EtherII PCC-TD", 0x5261440f, 0xc49bd73d),
 	PCMCIA_DEVICE_PROD_ID12("Corega K.K.", "corega EtherII PCC-TD", 0xd4fdcbd8, 0xc49bd73d),

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.37] pcnet_cs: add new_id
  2011-01-11 11:55                             ` [PATCH kernel 2.6.37] pcnet_cs: add new_id Ken Kawasaki
@ 2011-01-11 22:04                               ` David Miller
  2011-01-30 21:16                               ` [PATCH kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2011-01-11 22:04 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Tue, 11 Jan 2011 20:55:58 +0900

> 
> pcnet_cs:
>      add another ID of "corega Ether CF-TD" 10Base-T PCMCIA card.
> 
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun
  2011-01-11 11:55                             ` [PATCH kernel 2.6.37] pcnet_cs: add new_id Ken Kawasaki
  2011-01-11 22:04                               ` David Miller
@ 2011-01-30 21:16                               ` Ken Kawasaki
  2011-02-01  4:53                                 ` David Miller
  2011-02-20 15:07                                 ` [PATCH kernel 2.6.38-rc5] fmvj18x_cs: add new id Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2011-01-30 21:16 UTC (permalink / raw)
  To: netdev


axnet_cs:
    mdelay of 10ms is too long at ei_rx_overrun.
    It should be reduced to 2ms.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.38-rc2-git7/drivers/net/pcmcia/axnet_cs.c.orig	2011-01-29 19:56:56.261560045 +0900
+++ linux-2.6.38-rc2-git7/drivers/net/pcmcia/axnet_cs.c	2011-01-30 11:00:12.500397574 +0900
@@ -1488,12 +1488,10 @@ static void ei_rx_overrun(struct net_dev
     
 	/* 
 	 * Wait a full Tx time (1.2ms) + some guard time, NS says 1.6ms total.
-	 * Early datasheets said to poll the reset bit, but now they say that
-	 * it "is not a reliable indicator and subsequently should be ignored."
-	 * We wait at least 10ms.
+	 * We wait at least 2ms.
 	 */
 
-	mdelay(10);
+	mdelay(2);
 
 	/*
 	 * Reset RBCR[01] back to zero as per magic incantation.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun
  2011-01-30 21:16                               ` [PATCH kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun Ken Kawasaki
@ 2011-02-01  4:53                                 ` David Miller
  2011-02-20 15:07                                 ` [PATCH kernel 2.6.38-rc5] fmvj18x_cs: add new id Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2011-02-01  4:53 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Mon, 31 Jan 2011 06:16:16 +0900

> 
> axnet_cs:
>     mdelay of 10ms is too long at ei_rx_overrun.
>     It should be reduced to 2ms.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 2.6.38-rc5] fmvj18x_cs: add new id
  2011-01-30 21:16                               ` [PATCH kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun Ken Kawasaki
  2011-02-01  4:53                                 ` David Miller
@ 2011-02-20 15:07                                 ` Ken Kawasaki
  2011-02-28 20:06                                   ` David Miller
  2011-06-04 23:20                                   ` [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2011-02-20 15:07 UTC (permalink / raw)
  To: netdev


fmvj18x_cs:add new id
           Toshiba lan&modem multifuction card (model name:IPC5010A)

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-2.6.38-rc5/drivers/net/pcmcia/fmvj18x_cs.c.orig	2011-02-20 14:04:06.000000000 +0900
+++ linux-2.6.38-rc5/drivers/net/pcmcia/fmvj18x_cs.c	2011-02-20 14:04:21.000000000 +0900
@@ -691,6 +691,7 @@ static struct pcmcia_device_id fmvj18x_i
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0105, 0x0e0a),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x0e01),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x0a05),
+	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x0b05),
 	PCMCIA_PFC_DEVICE_MANF_CARD(0, 0x0032, 0x1101),
 	PCMCIA_DEVICE_NULL,
 };
--- linux-2.6.38-rc5/drivers/tty/serial/serial_cs.c.orig	2011-02-20 14:05:09.000000000 +0900
+++ linux-2.6.38-rc5/drivers/tty/serial/serial_cs.c	2011-02-20 14:05:28.000000000 +0900
@@ -712,6 +712,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_PFC_DEVICE_PROD_ID12(1, "Xircom", "CreditCard Ethernet+Modem II", 0x2e3ee845, 0xeca401bf),
 	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x0e01),
 	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x0a05),
+	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x0b05),
 	PCMCIA_PFC_DEVICE_MANF_CARD(1, 0x0032, 0x1101),
 	PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0104, 0x0070),
 	PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0101, 0x0562),


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 2.6.38-rc5] fmvj18x_cs: add new id
  2011-02-20 15:07                                 ` [PATCH kernel 2.6.38-rc5] fmvj18x_cs: add new id Ken Kawasaki
@ 2011-02-28 20:06                                   ` David Miller
  2011-06-04 23:20                                   ` [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2011-02-28 20:06 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Mon, 21 Feb 2011 00:07:20 +0900

> 
> fmvj18x_cs:add new id
>            Toshiba lan&modem multifuction card (model name:IPC5010A)
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

Applied, thank you.

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH  kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap
  2011-02-20 15:07                                 ` [PATCH kernel 2.6.38-rc5] fmvj18x_cs: add new id Ken Kawasaki
  2011-02-28 20:06                                   ` David Miller
@ 2011-06-04 23:20                                   ` Ken Kawasaki
  2011-06-05 21:38                                     ` David Miller
  2011-06-07 12:01                                     ` Ken Kawasaki
  1 sibling, 2 replies; 90+ messages in thread
From: Ken Kawasaki @ 2011-06-04 23:20 UTC (permalink / raw)
  To: netdev


smc91c92_cs:
    set smc->base to NULL before iounmap
    to avoid writing to smc->base in smc_interrupt.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

---

--- linux-3.0-rc1/drivers/net/pcmcia/smc91c92_cs.c.orig	2011-06-04 19:38:07.000000000 +0900
+++ linux-3.0-rc1/drivers/net/pcmcia/smc91c92_cs.c	2011-06-05 07:59:51.000000000 +0900
@@ -315,6 +315,7 @@ static int smc91c92_probe(struct pcmcia_
     smc = netdev_priv(dev);
     smc->p_dev = link;
     link->priv = dev;
+    smc->base = NULL;
 
     spin_lock_init(&smc->lock);
 
@@ -954,11 +955,17 @@ config_failed:
 
 static void smc91c92_release(struct pcmcia_device *link)
 {
+	struct net_device *dev = link->priv;
+	struct smc_private *smc = netdev_priv(dev);
+
 	dev_dbg(&link->dev, "smc91c92_release\n");
-	if (link->resource[2]->end) {
-		struct net_device *dev = link->priv;
-		struct smc_private *smc = netdev_priv(dev);
-		iounmap(smc->base);
+
+	if (smc->base != NULL) {
+ 		u_char __iomem *tmp;
+
+		tmp = smc->base;
+		smc->base = NULL;    /* set NULL before iounmap */
+		iounmap(tmp);
 	}
 	pcmcia_disable_device(link);
 }
@@ -1444,7 +1451,7 @@ irq_done:
 	mask_bits(0x00ff, ioaddr-0x10+OSITECH_RESET_ISR);
 	set_bits(0x0300, ioaddr-0x10+OSITECH_RESET_ISR);
     }
-    if (smc->manfid == MANFID_MOTOROLA) {
+    if ((smc->base != NULL) && (smc->manfid == MANFID_MOTOROLA)) {
 	u_char cor;
 	cor = readb(smc->base + MOT_UART + CISREG_COR);
 	writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_UART + CISREG_COR);

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap
  2011-06-04 23:20                                   ` [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap Ken Kawasaki
@ 2011-06-05 21:38                                     ` David Miller
  2011-06-07 12:01                                     ` Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: David Miller @ 2011-06-05 21:38 UTC (permalink / raw)
  To: ken_kawasaki; +Cc: netdev

From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Sun, 5 Jun 2011 08:20:16 +0900

> 
> smc91c92_cs:
>     set smc->base to NULL before iounmap
>     to avoid writing to smc->base in smc_interrupt.
> 
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>

The device should be completely made quiet and all interrupts
synchronized before unmapping chip registers.  Using NULL checks
is merely a workaround for the real problem, even though you take
great pains to assign NULL before the iounmap() call.

Perhaps putting the pcmcia_disable_device() call before the iounmap()
will be sufficient to fix this bug.  Or perhaps that, plus a call to
synchronize_irq() or similar.


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: Re: [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap
  2011-06-04 23:20                                   ` [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap Ken Kawasaki
  2011-06-05 21:38                                     ` David Miller
@ 2011-06-07 12:01                                     ` Ken Kawasaki
  1 sibling, 0 replies; 90+ messages in thread
From: Ken Kawasaki @ 2011-06-07 12:01 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Hi,

I will re-test this problem.

Thanks,
Ken

>> smc91c92_cs:
>>     set smc->base to NULL before iounmap
>>     to avoid writing to smc->base in smc_interrupt.
>> 
>> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
>
>The device should be completely made quiet and all interrupts
>synchronized before unmapping chip registers.  Using NULL checks
>is merely a workaround for the real problem, even though you take
>great pains to assign NULL before the iounmap() call.
>
>Perhaps putting the pcmcia_disable_device() call before the iounmap()
>will be sufficient to fix this bug.  Or perhaps that, plus a call to
>synchronize_irq() or similar.
>


^ permalink raw reply	[flat|nested] 90+ messages in thread

end of thread, other threads:[~2011-06-07 12:19 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-05  0:49 [PATCH] axnet_cs: fix phy_id detection for bogus Asix chip Ken Kawasaki
2009-04-07  0:42 ` David Miller
2009-04-18 23:44 ` [PATCH] pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM Ken Kawasaki
2009-04-26  7:29   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
2009-04-26 13:33     ` Ben Hutchings
2009-04-27 12:48       ` Ken Kawasaki
2009-09-12 22:22     ` [PATCH] pcnet_cs: add cis of Linksys " Ken Kawasaki
2009-09-21  4:10       ` [PATCH kernel 2.6.31-git9] 3c574_cs: spin_lock the set_multicast_list function Ken Kawasaki
2009-09-13  8:22     ` [PATCH kernel 2.6.31] pcnet_cs: add cis of Linksys multifunction pcmcia card Ken Kawasaki
2009-09-15  9:42       ` David Miller
2009-10-03 22:32       ` [PATCH kernel 2.6.32-rc1] pcnet_cs: add cis of National Semicondoctor's " Ken Kawasaki
2009-10-05  7:40         ` David Miller
2009-10-11 12:12         ` [PATCH kernel 2.6.32-rc3] 3c574_cs: spin_lock the set_multicast_list function Ken Kawasaki
2009-10-13  7:33           ` David Miller
2009-10-18  1:39         ` [PATCH kernel 2.6.32-rc5] pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card Ken Kawasaki
2009-10-21 19:18           ` Dan Williams
2009-10-22 11:10             ` Ken Kawasaki
2009-10-24 20:33               ` Ben Hutchings
2009-10-30  5:51           ` David Miller
2009-12-21 11:58         ` [PATCH kernel 2.6.33-rc1] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
2009-12-23  2:50           ` Ben Hutchings
2009-12-23  8:05           ` Ken Kawasaki
2010-01-04  5:42             ` David Miller
2009-12-23  8:10           ` [PATCH kernel 2.6.33-rc1 updated] " Ken Kawasaki
2009-12-29  1:17             ` [PATCH kernel 2.6.33-rc2] axnet_cs: remove unnecessary spin_unlock_irqrestore Ken Kawasaki
2010-01-04  5:52               ` David Miller
2010-01-04 11:34             ` [PATCH kernel 2.6.33-rc1 v3] pcnet_cs: add cis of KTI PE520 pcmcia network card Ken Kawasaki
2010-01-07  4:38               ` David Miller
2010-01-22 21:56             ` [PATCH kernel 2.6.33-rc5] fmvj18x_cs: add new id (Panasonic lan & modem card) Ken Kawasaki
2010-02-27 23:34               ` [PATCH kernel 2.6.33] axnet_cs: add new id Ken Kawasaki
2010-02-28  9:03                 ` David Miller
2010-03-27 20:55                 ` [PATCH kernel 2.6.34-rc2] pcnet_cs: " Ken Kawasaki
2010-03-27 23:56                   ` David Miller
2010-04-03 21:14                   ` [PATCH kernel 2.6.34-rc3] smc91c92_cs: fix the problem of "Unable to find hardware address" Ken Kawasaki
2010-04-03 22:07                     ` David Miller
2010-04-10 22:50                     ` [PATCH kernel 2.6.34-rc3-git9] smc91c92_cs: define multicast_table as unsigned char Ken Kawasaki
2010-04-13 10:09                       ` David Miller
2010-04-24 20:37                       ` [PATCH kernel 2.6.34-rc5] smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt() Ken Kawasaki
2010-04-27 21:47                         ` David Miller
2010-06-12 10:17                 ` [PATCH kernel 2.6.35-rc2] pcnet_cs: add new id (TOSHIBA Modem/LAN Card) Ken Kawasaki
2010-06-17  1:11                   ` David Miller
2010-06-20  1:24                   ` [PATCH kernel 2.6.35-rc3] smc91c92_cs: fix the problem that lan & modem does not work simultaneously Ken Kawasaki
2010-06-26  4:32                     ` David Miller
2010-07-06 11:22                     ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper Ken Kawasaki
2010-07-07 21:51                       ` David Miller
2010-07-10 11:18                       ` [PATCH kernel 2.6.35-rc3-git7] axnet_cs: use spin_lock_irqsave in ax_interrupt Ken Kawasaki
2010-07-11  2:46                         ` Ben Hutchings
2010-07-11  2:49                           ` David Miller
2010-07-11  3:12                             ` Ben Hutchings
2010-07-13  3:08                               ` David Miller
2010-08-28 22:45                         ` [PATCH kernel 2.6.36-rc2] pcnet_cs: add new_id Ken Kawasaki
2010-08-28 23:07                           ` David Miller
2010-10-29 22:17                           ` [PATCH kernel 2.6.36-git10] " Ken Kawasaki
2010-10-30 23:49                             ` David Miller
2010-11-06 15:11                             ` [PATCH kernel 2.6.37-rc1] axnet_cs: fix resume problem for some Ax88790 chip Ken Kawasaki
2010-11-12 22:01                               ` David Miller
2010-11-13 23:42                               ` [PATCH kernel 2.6.37-rc1]ipg.c: remove id [SUNDANCE, 0x1021] Ken Kawasaki
2010-11-18 18:45                                 ` David Miller
2010-12-13 12:27                                 ` [PATCH kernel 2.6.37-rc5] axnet_cs: move id (0x1bf, 0x2328) to axnet_cs Ken Kawasaki
2010-12-16 20:39                                   ` David Miller
2011-01-11 11:55                             ` [PATCH kernel 2.6.37] pcnet_cs: add new_id Ken Kawasaki
2011-01-11 22:04                               ` David Miller
2011-01-30 21:16                               ` [PATCH kernel 2.6.38rc2-git7] axnet_cs: reduce delay time at ei_rx_overrun Ken Kawasaki
2011-02-01  4:53                                 ` David Miller
2011-02-20 15:07                                 ` [PATCH kernel 2.6.38-rc5] fmvj18x_cs: add new id Ken Kawasaki
2011-02-28 20:06                                   ` David Miller
2011-06-04 23:20                                   ` [PATCH kernel 3.0-rc1] smc91c92_cs: set smc->base to NULL before iounmap Ken Kawasaki
2011-06-05 21:38                                     ` David Miller
2011-06-07 12:01                                     ` Ken Kawasaki
2009-12-13  0:44       ` [PATCH kernel 2.6.32-git7] 3c574_cs: disable irq before calling el3_interrupt Ken Kawasaki
2009-12-14  3:48         ` David Miller
2010-03-06 22:02         ` [PATCH kernel 2.6.33-git11] lib8390: use spin_lock_irqsave for locking Ken Kawasaki
2010-05-03 10:43           ` [PATCH kernel 2.6.34-rc5] lib8390: to be SMP safe Ken Kawasaki
2010-05-06 20:47             ` Ken Kawasaki
2009-04-27 12:50   ` [PATCH] 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card Ken Kawasaki
2009-05-02  2:22     ` David Miller
2009-06-28  0:09 ` [PATCH] pcnet_cs: add new id (RIOS System PC CARD3 ETHERNET) Ken Kawasaki
2009-06-30 14:19   ` [PATCH] pcnet_cs: add new id David Miller
2009-07-05  8:34     ` Ken Kawasaki
2009-07-05  0:17 ` Ken Kawasaki
2009-07-06  2:02   ` David Miller
2009-07-05  0:19 ` [PATCH] pcnet_cs: add odd location support for write_asic function Ken Kawasaki
2009-07-08 12:09 ` Ken Kawasaki
2009-07-08 17:38   ` David Miller
2009-07-11  0:02 ` Ken Kawasaki
2009-07-11  3:26   ` David Miller
2009-07-11 22:15     ` Ken Kawasaki
2009-07-19 23:08 ` [PATCH] 3c589_cs: re-initialize the multicast in the tc589_reset Ken Kawasaki
2009-07-20 15:29   ` David Miller
2009-07-22 12:23     ` Ken Kawasaki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.