Discussion:
[PATCH] axnet_cs: fix phy_id detection for bogus Asix chip.
(too old to reply)
Ken Kawasaki
2009-04-05 00:49:07 UTC
Permalink
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 <***@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);


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-04-07 00:42:59 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 5 Apr 2009 09:49:07 +0900
Post by Ken Kawasaki
(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.
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-04-18 23:44:44 UTC
Permalink
pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM


Signed-off-by: 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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-04-26 07:29:29 UTC
Permalink
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 <***@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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2009-04-26 13:33:02 UTC
Permalink
Post by Ken Kawasaki
(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.
Ken Kawasaki
2009-04-27 12:48:14 UTC
Permalink
On Sun, 26 Apr 2009 14:33:02 +0100
Post by Ben Hutchings
Post by Ken Kawasaki
(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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-09-12 22:22:03 UTC
Permalink
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 <***@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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-09-21 04:10:23 UTC
Permalink
3c574_cs:
spin_lock the set_multicast_list,
and clean up the set_rx_mode function.

Signed-off-by: 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)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-09-13 08:22:57 UTC
Permalink
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 <***@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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-09-15 09:42:33 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 13 Sep 2009 17:22:57 +0900
Post by Ken Kawasaki
add cis of Linksys lan&modem mulitifunction pcmcia card
and some modem card(MT5634ZLX, RS-COM-2P).
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-10-03 22:32:57 UTC
Permalink
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 <***@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
+#
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-10-05 07:40:11 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 4 Oct 2009 07:32:57 +0900
Post by Ken Kawasaki
add cis of National Semicondoctor's lan&modem mulitifunction pcmcia card,
NE2K, tamarack ethernet card,
and some serial card(COMpad2, COMpad4).
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-10-11 12:12:25 UTC
Permalink
3c574_cs:
spin_lock the set_multicast_list function.

Signed-off-by: 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;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-10-13 07:33:07 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 11 Oct 2009 21:12:25 +0900
Post by Ken Kawasaki
spin_lock the set_multicast_list function.
Applied, thanks!

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-10-18 01:39:20 UTC
Permalink
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 <***@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 ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Dan Williams
2009-10-21 19:18:06 UTC
Permalink
Post by Ken Kawasaki
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
Post by Ken Kawasaki
use PROD_ID for AC7xx, because MANF_ID of AC7xx and AC8xx are the same.
---
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
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-10-22 11:10:06 UTC
Permalink
Hi,
Post by Dan Williams
Post by Ken Kawasaki
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.
Post by Dan Williams
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.
Post by Dan Williams
"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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2009-10-24 20:33:41 UTC
Permalink
Post by Ken Kawasaki
Hi,
Post by Dan Williams
Post by Ken Kawasaki
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
David Miller
2009-10-30 05:51:38 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 18 Oct 2009 10:39:20 +0900
Post by Ken Kawasaki
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.
Applied to net-2.6, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-12-21 11:58:49 UTC
Permalink
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 <***@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
+#
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2009-12-23 02:50:09 UTC
Permalink
Post by Ken Kawasaki
add cis of KTI PE520 pcmcia network card,
and some serial card(GLOBETROTTER, Sierra Wireless AC860).
[...]
Post by Ken Kawasaki
+(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.
Post by Ken Kawasaki
+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.
Ken Kawasaki
2009-12-23 08:10:04 UTC
Permalink
pcnet_cs,serial_cs:

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

Signed-off-by: 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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-12-29 01:17:24 UTC
Permalink
axnet_cs:
remove unnecessary spin_unlock_irqrestore,spin_lock_irqsave.

Signed-off-by: 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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-01-04 05:52:53 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Tue, 29 Dec 2009 10:17:24 +0900
Post by Ken Kawasaki
remove unnecessary spin_unlock_irqrestore,spin_lock_irqsave.
Applied to net-next-2.6
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-01-04 11:34:17 UTC
Permalink
pcnet_cs,serial_cs:

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

Signed-off-by: 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
+#
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-01-07 04:38:07 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Mon, 4 Jan 2010 20:34:17 +0900
Post by Ken Kawasaki
add cis of KTI PE520 pcmcia network card,
and serial card(Sierra Wireless AC860).
Applied to net-2.6, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-01-22 21:56:25 UTC
Permalink
fmvj18x_cs, serial_cs:
add new id
Panasonic lan & modem card (model name:AL-VML101)

Signed-off-by: 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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-02-27 23:34:20 UTC
Permalink
axnet_cs:
add new id (corega PCC-TXM)

Signed-off-by: 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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-02-28 09:03:33 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 28 Feb 2010 08:34:20 +0900
Post by Ken Kawasaki
add new id (corega PCC-TXM)
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-03-27 20:55:37 UTC
Permalink
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 <***@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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-03-27 23:56:36 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 28 Mar 2010 05:55:37 +0900
Post by Ken Kawasaki
*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).
Applied, thanks Ken.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-04-03 21:14:34 UTC
Permalink
smc91c92_cs:
*cvt_ascii_address returns 0, if success.
*call free_netdev, if we can't find hardware address.

Signed-off-by: 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 */

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-04-03 22:07:21 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 4 Apr 2010 06:14:34 +0900
Post by Ken Kawasaki
*cvt_ascii_address returns 0, if success.
*call free_netdev, if we can't find hardware address.
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-04-10 22:50:14 UTC
Permalink
smc91c92_cs:
* define multicast_table as unsigned char
* remove unnecessary "#ifndef final_version"

Signed-off-by: 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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-04-13 10:09:54 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 11 Apr 2010 07:50:14 +0900
Post by Ken Kawasaki
* define multicast_table as unsigned char
* remove unnecessary "#ifndef final_version"
It is clear there are not too many testers of multicast
with this driver :-)

Thanks for fixing this bug, patch applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-04-24 20:37:09 UTC
Permalink
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 <***@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;
}

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-04-27 21:47:57 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 25 Apr 2010 05:37:09 +0900
Post by Ken Kawasaki
* spin_unlock_irqrestore before calling smc_interrupt() in media_check()
to avoid lockup.
* use spin_lock_irqsave for ethtool function.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-06-12 10:17:28 UTC
Permalink
pcnet_cs:
serial_cs:
add new id (TOSHIBA Modem/LAN Card)

Signed-off-by: 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"),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-06-17 01:11:14 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sat, 12 Jun 2010 19:17:28 +0900
Post by Ken Kawasaki
add new id (TOSHIBA Modem/LAN Card)
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-06-20 01:24:27 UTC
Permalink
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 <***@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);
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-06-26 04:32:04 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 20 Jun 2010 10:24:27 +0900
Post by Ken Kawasaki
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.
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-07-06 11:22:43 UTC
Permalink
axnet_cs:
local_irq_save before calling ei_irq_wrapper.


Signed-off-by: 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) {
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-07-07 21:51:12 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Tue, 6 Jul 2010 20:22:43 +0900
Post by Ken Kawasaki
local_irq_save before calling ei_irq_wrapper.
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-07-10 11:18:13 UTC
Permalink
axnet_cs:
use spin_lock_irqsave instead of spin_lock in ax_interrupt

Signed-off-by: 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);
}

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2010-07-11 02:46:28 UTC
Permalink
Post by Ken Kawasaki
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.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-07-11 02:49:28 UTC
Permalink
From: Ben Hutchings <***@solarflare.com>
Date: Sun, 11 Jul 2010 03:46:28 +0100
Post by Ben Hutchings
Post by Ken Kawasaki
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2010-07-11 03:12:34 UTC
Permalink
Post by David Miller
Date: Sun, 11 Jul 2010 03:46:28 +0100
Post by Ben Hutchings
Post by Ken Kawasaki
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.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-07-13 03:08:55 UTC
Permalink
From: Ben Hutchings <***@solarflare.com>
Date: Sun, 11 Jul 2010 04:12:34 +0100
Post by Ben Hutchings
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-08-28 22:45:01 UTC
Permalink
pcnet_cs:
add new_id: "KENTRONICS KEP-230" 10Base-T PCMCIA card.


Signed-off-by: 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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-08-28 23:07:36 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 29 Aug 2010 07:45:01 +0900
Post by Ken Kawasaki
add new_id: "KENTRONICS KEP-230" 10Base-T PCMCIA card.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-10-29 22:17:51 UTC
Permalink
pcnet_cs:
add new_id: "corega Ether CF-TD" 10Base-T PCMCIA card.


Signed-off-by: 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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-10-30 23:49:47 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sat, 30 Oct 2010 07:17:51 +0900
Post by Ken Kawasaki
add new_id: "corega Ether CF-TD" 10Base-T PCMCIA card.
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-11-06 15:11:24 UTC
Permalink
axnet_cs:
Some Ax88790 chip need to reinitialize the CISREG_CCSR register
after resume.

Signed-off-by: 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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-11-12 22:01:01 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 7 Nov 2010 00:11:24 +0900
Post by Ken Kawasaki
Some Ax88790 chip need to reinitialize the CISREG_CCSR register
after resume.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-11-13 23:42:08 UTC
Permalink
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 <***@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, }
};

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-11-18 18:45:37 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 14 Nov 2010 08:42:08 +0900
Post by Ken Kawasaki
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.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-12-13 12:27:24 UTC
Permalink
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 <***@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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-12-16 20:39:22 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Mon, 13 Dec 2010 21:27:24 +0900
Post by Ken Kawasaki
Accton EN2328 or compatible (id: 0x01bf, 0x2328) uses Asix chip.
So it works better with axnet_cs instead of pcnet_cs.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2011-01-11 11:55:58 UTC
Permalink
pcnet_cs:
add another ID of "corega Ether CF-TD" 10Base-T PCMCIA card.


Signed-off-by: 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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2011-01-11 22:04:40 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Tue, 11 Jan 2011 20:55:58 +0900
Post by Ken Kawasaki
add another ID of "corega Ether CF-TD" 10Base-T PCMCIA card.
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2011-01-30 21:16:16 UTC
Permalink
axnet_cs:
mdelay of 10ms is too long at ei_rx_overrun.
It should be reduced to 2ms.

Signed-off-by: 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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2011-02-01 04:53:34 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Mon, 31 Jan 2011 06:16:16 +0900
Post by Ken Kawasaki
mdelay of 10ms is too long at ei_rx_overrun.
It should be reduced to 2ms.
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2011-02-20 15:07:20 UTC
Permalink
fmvj18x_cs:add new id
Toshiba lan&modem multifuction card (model name:IPC5010A)

Signed-off-by: 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),

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2011-02-28 20:06:37 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Mon, 21 Feb 2011 00:07:20 +0900
Post by Ken Kawasaki
fmvj18x_cs:add new id
Toshiba lan&modem multifuction card (model name:IPC5010A)
Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2011-06-04 23:20:16 UTC
Permalink
smc91c92_cs:
set smc->base to NULL before iounmap
to avoid writing to smc->base in smc_interrupt.

Signed-off-by: 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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2011-06-05 21:38:34 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 5 Jun 2011 08:20:16 +0900
Post by Ken Kawasaki
set smc->base to NULL before iounmap
to avoid writing to smc->base in smc_interrupt.
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.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2011-06-07 12:01:19 UTC
Permalink
Hi,

I will re-test this problem.

Thanks,
Ken
Post by David Miller
Post by Ken Kawasaki
set smc->base to NULL before iounmap
to avoid writing to smc->base in smc_interrupt.
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-12-23 08:05:46 UTC
Permalink
Hi, Ben
Post by Ben Hutchings
Post by Ken Kawasaki
+(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.
Post by Ken Kawasaki
+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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2010-01-04 05:42:06 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Wed, 23 Dec 2009 17:05:46 +0900 (JST)
Post by Ken Kawasaki
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-12-13 00:44:11 UTC
Permalink
3c574_cs, 3c589_cs:
disable irq before calling el3_interrupt
in the media_check function.

Signed-off-by: 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) {
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-12-14 03:48:15 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 13 Dec 2009 09:44:11 +0900
Post by Ken Kawasaki
disable irq before calling el3_interrupt
in the media_check function.
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-03-06 22:02:56 UTC
Permalink
lib8390:
use "spin_lock_irqsave", "local_irq_save" instead of "disable_irq".

Signed-off-by: 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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-05-03 10:43:16 UTC
Permalink
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 <***@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;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-05-06 20:47:48 UTC
Permalink
Sorry, I cancel this patch
and test it again.


Best Regards
Ken
Post by Ken Kawasaki
write the value "ENISR_ALL" to register "EN0_IMR"
after enable_irq_lockdep_irqrestore.
This patch avoids frequent transmit error on SMP system.
---
--- 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;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-04-27 12:50:50 UTC
Permalink
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 <***@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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-05-02 02:22:58 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Mon, 27 Apr 2009 21:50:50 +0900
Post by Ken Kawasaki
(1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card.
(2)load correct configuration register for 3Com card
Applied to net-next-2.6.

But a few things to be mindful of next time, which I had to
clean up for you.
Post by Ken Kawasaki
+ }
+ 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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-04-21 09:06:31 UTC
Permalink
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-06-28 00:09:39 UTC
Permalink
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 <***@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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-06-30 14:19:55 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 28 Jun 2009 09:09:39 +0900
Post by Ken Kawasaki
(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.
These are three seperate changes, could you split this up
into three seperate patches?

Thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-05 08:34:04 UTC
Permalink
On Tue, 30 Jun 2009 07:19:55 -0700 (PDT)
Post by Ken Kawasaki
(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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-05 00:17:10 UTC
Permalink
add new id (RIOS System PC CARD3 ETHERNET).

Signed-off-by: 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),
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-07-06 02:02:30 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sun, 5 Jul 2009 09:17:10 +0900
Post by Ken Kawasaki
add new id (RIOS System PC CARD3 ETHERNET).
Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-05 00:19:52 UTC
Permalink
Signed-off-by: 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;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-08 12:09:24 UTC
Permalink
Signed-off-by: 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;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-07-08 17:38:05 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Wed, 8 Jul 2009 21:09:24 +0900
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-11 00:02:13 UTC
Permalink
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 <***@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;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-07-11 03:26:09 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Sat, 11 Jul 2009 09:02:13 +0900
Post by Ken Kawasaki
Currently, no one passes odd location to the write_asic function.
But this patch add odd location support for future usage of this
feature.
"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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-11 22:15:54 UTC
Permalink
On Fri, 10 Jul 2009 20:26:09 -0700 (PDT)
Post by David Miller
Post by Ken Kawasaki
Currently, no one passes odd location to the write_asic function.
But this patch add odd location support for future usage of this
feature.
"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.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-19 23:08:12 UTC
Permalink
3c589_cs:
re-initialize the multicast in the tc589_reset,
and spin_lock the set_multicast_list function.

Signed-off-by: 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);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller
2009-07-20 15:29:06 UTC
Permalink
From: Ken Kawasaki <***@spring.nifty.jp>
Date: Mon, 20 Jul 2009 08:08:12 +0900
Post by Ken Kawasaki
re-initialize the multicast in the tc589_reset,
and spin_lock the set_multicast_list function.
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
Post by Ken Kawasaki
+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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-07-22 12:23:38 UTC
Permalink
On Mon, 20 Jul 2009 08:29:06 -0700 (PDT)
Post by David Miller
Post by Ken Kawasaki
re-initialize the multicast in the tc589_reset,
and spin_lock the set_multicast_list function.
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
Post by Ken Kawasaki
+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!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2009-10-25 02:10:00 UTC
Permalink
Hi,
Post by Ben Hutchings
Post by Ken Kawasaki
Post by Dan Williams
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?
(1)The CIS contains data only,
does not contain the code to be executed.
(2)Sierra Wireless provided the binary of the CIS only.
(3)These CIS are stable and does not need to be modified.
(3)The content of the CIS can be seen by the dump_cis utility.

So if someone want to modify the CIS , I think it is OK
to use hex editor.

Best Regards
Ken

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2009-10-25 02:13:29 UTC
Permalink
Post by Ken Kawasaki
Hi,
Post by Ben Hutchings
Post by Ken Kawasaki
Post by Dan Williams
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?
(1)The CIS contains data only,
does not contain the code to be executed.
(2)Sierra Wireless provided the binary of the CIS only.
(3)These CIS are stable and does not need to be modified.
(3)The content of the CIS can be seen by the dump_cis utility.
So if someone want to modify the CIS , I think it is OK
to use hex editor.
That sounds reasonable. Thanks.

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
Ben Hutchings
2010-03-05 00:02:21 UTC
Permalink
Post by Ken Kawasaki
Hi,
Post by Ben Hutchings
Post by Ken Kawasaki
Post by Dan Williams
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?
(1)The CIS contains data only,
does not contain the code to be executed.
(2)Sierra Wireless provided the binary of the CIS only.
(3)These CIS are stable and does not need to be modified.
(3)The content of the CIS can be seen by the dump_cis utility.
So if someone want to modify the CIS , I think it is OK
to use hex editor.
The CIS files under firmware/ are, according to firmware/WHENCE,
'developed by the pcmcia-cs project'. So I had a look at what's left of
the pcmcia-cs project and its last release, and found that it includes:

- the tool 'pack_cis' which compiles a text version of CIS to the
standard binary format
- text versions of most of the CIS files

Since the text versions contain comments which are excluded from the
binary format, I believe they should be considered the 'preferred form
for modification' and included in the linux-2.6 and linux-firmware trees
along with the binaries.

Ben.
--
Ben Hutchings
Q. Which is the greater problem in the world today, ignorance or apathy?
A. I don't know and I couldn't care less.
Ken Kawasaki
2010-03-05 11:21:53 UTC
Permalink
Hi,
Post by Ben Hutchings
The CIS files under firmware/ are, according to firmware/WHENCE,
'developed by the pcmcia-cs project'. So I had a look at what's left of
- the tool 'pack_cis' which compiles a text version of CIS to the
standard binary format
- text versions of most of the CIS files
Since the text versions contain comments which are excluded from the
binary format, I believe they should be considered the 'preferred form
for modification' and included in the linux-2.6 and linux-firmware trees
along with the binaries.
Actually, it is better to build CIS by "pack_cis /lib/firmware/cis/src/xxx.cis"
instead of "IHEX /lib/firmware/cis/xxx.cis".

In that case, the "pack_cis" tool should be included in the kernel-tree.

Ken.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ken Kawasaki
2010-03-05 12:01:51 UTC
Permalink
Hi,
Post by Ben Hutchings
The CIS files under firmware/ are, according to firmware/WHENCE,
'developed by the pcmcia-cs project'. So I had a look at what's left of
- the tool 'pack_cis' which compiles a text version of CIS to the
standard binary format
- text versions of most of the CIS files
Since the text versions contain comments which are excluded from the
binary format, I believe they should be considered the 'preferred form
for modification' and included in the linux-2.6 and linux-firmware trees
along with the binaries.
Actually, it is better to build CIS by "pack_cis firmware/cis/src/xxx.cis"
instead of "IHEX firmware/cis/xxx.cis".

In that case, the "pack_cis" tool should be included in the kernel-tree.

Ken.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Ben Hutchings
2010-03-05 12:46:19 UTC
Permalink
Post by Ken Kawasaki
Hi,
Post by Ben Hutchings
The CIS files under firmware/ are, according to firmware/WHENCE,
'developed by the pcmcia-cs project'. So I had a look at what's left of
- the tool 'pack_cis' which compiles a text version of CIS to the
standard binary format
- text versions of most of the CIS files
Since the text versions contain comments which are excluded from the
binary format, I believe they should be considered the 'preferred form
for modification' and included in the linux-2.6 and linux-firmware trees
along with the binaries.
Actually, it is better to build CIS by "pack_cis firmware/cis/src/xxx.cis"
instead of "IHEX firmware/cis/xxx.cis".
In that case, the "pack_cis" tool should be included in the kernel-tree.
We don't include other firmware-building tools in the tree, even where
they are free software. Why this one?

Ben.
--
Ben Hutchings
Q. Which is the greater problem in the world today, ignorance or apathy?
A. I don't know and I couldn't care less.
Continue reading on narkive:
Loading...