linux/drivers/net
David S. Miller 39d48157ac atl1: Do not wake queue before queue has been started.
Based upon a bug report by Alexey Dobriyan, the patch is
also tested by him and confirmed to fix the problem.

Packet flow during link state events should not be done by
waking and stopping the TX queue anyways, that is handled
transparently by netif_carrier_{on,off}().

So, remove the netif_{wake,stop}_queue() calls in the link
check code, and add the necessary netif_start_queue() call
to atl1_up().

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-07-21 08:28:37 -07:00
..
appletalk fix warning in drivers/net/appletalk/cops.c 2008-05-06 12:16:24 -04:00
arcnet drivers/net/arcnet/arcnet.c: use time_* macros 2008-03-28 22:14:15 -04:00
arm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
atlx atl1: Do not wake queue before queue has been started. 2008-07-21 08:28:37 -07:00
bonding netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
can
chelsio cxgb: delete non NAPI code from the driver. 2008-07-11 01:11:42 -04:00
cris
cxgb3 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
e1000 e1000: resolve tx multiqueue bug 2008-07-18 17:50:57 -07:00
e1000e igb/ixgbe/e1000e: resolve tx multiqueue bug 2008-07-18 04:33:03 -07:00
ehea ehea: Access iph->tot_len with correct endianness 2008-07-04 08:15:28 -04:00
fs_enet Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
hamradio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
ibm_newemac Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
igb igb/ixgbe/e1000e: resolve tx multiqueue bug 2008-07-18 04:33:03 -07:00
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
ixgb netdrv intel: always enable VLAN filtering except in promiscous mode 2008-07-16 20:16:14 -07:00
ixgbe igb/ixgbe/e1000e: resolve tx multiqueue bug 2008-07-18 04:33:03 -07:00
ixp2000 ixp2000: use netdev_alloc_skb 2008-05-22 14:12:39 -04:00
mlx4 mlx4_core: Use MOD_STAT_CFG command to get minimal page size 2008-07-14 23:48:53 -07:00
myri10ge Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
netxen [netdrvr] netxen: fix netxen_pci_tbl[] breakage 2008-06-27 01:30:46 -04:00
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
phy Fix missing exports for net/phy/mdio-bitbang.c 2008-07-11 01:20:34 -04:00
sfc netdev: Do not use TX lock to protect address lists. 2008-07-15 00:15:08 -07:00
skfp skfp annotations 2008-03-26 00:18:44 -04:00
tokenring Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
tulip tulip: remove wrapper around get_unaligned 2008-06-28 10:23:37 -04:00
usb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
3c59x.c [netdrvr] 3c59x: remove irqs_disabled warning from local_bh_enable 2008-06-27 01:30:33 -04:00
3c501.c
3c501.h
3c503.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
3c503.h
3c505.c 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c505.h 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c507.c
3c509.c Merge branch 'upstream-next-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2008-05-29 03:31:03 -07:00
3c515.c 3c515: fix using pnp_get_resource when CONFIG_ISAPNP=n 2008-05-22 06:34:34 -04:00
3c523.c 3c523: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
3c523.h
3c527.c 3c527: use netstats in net_device structure 2008-05-13 01:35:25 -04:00
3c527.h
7990.c add missing lance_* exports 2008-06-10 18:20:17 -04:00
7990.h
8139cp.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
8139too.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
8390.c net: fix returning void-valued expression warnings 2008-05-01 02:47:38 -07:00
8390.h 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
8390p.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
82596.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
a2065.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
a2065.h
ac3200.c
acenic.c acenic: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
acenic.h acenic: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
acenic_firmware.h
amd8111e.c amd8111e: delete non NAPI code from the driver. 2008-07-07 22:40:58 -07:00
amd8111e.h
apne.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
ariadne.c ariadne: use netstats in net_device structure 2008-07-20 17:24:38 -07:00
ariadne.h
at1700.c
atarilance.c make drivers/net/atarilance.c:lance_addr_list[] static 2008-06-11 21:58:32 -04:00
atp.c misc drivers/net annotations 2008-03-26 00:18:43 -04:00
atp.h
au1000_eth.c netdev: Convert all drivers away from netif_schedule(). 2008-07-17 19:21:15 -07:00
au1000_eth.h
ax88796.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
b44.c ssb, b43, b43legacy, b44: Rewrite SSB DMA API 2008-06-27 09:09:15 -04:00
b44.h
bfin_mac.c netdev: Convert all drivers away from netif_schedule(). 2008-07-17 19:21:15 -07:00
bfin_mac.h Blackfin EMAC Driver: code cleanup 2008-04-29 01:56:14 -04:00
bmac.c
bmac.h
bnx2.c bnx2: Update version to 1.7.9. 2008-07-18 17:58:57 -07:00
bnx2.h bnx2: Add TX multiqueue support. 2008-07-18 17:55:11 -07:00
bnx2_fw.h bnx2: Pre-initialize struct cpu_reg. 2008-05-16 22:20:27 -07:00
bnx2_fw2.h bnx2: Update TPAT firmware 2008-07-18 17:54:17 -07:00
bnx2x.h bnx2x: Add TPA, Broadcoms HW LRO 2008-06-23 20:34:36 -07:00
bnx2x_fw_defs.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_hsi.h bnx2x: New statistics code 2008-06-23 20:33:36 -07:00
bnx2x_init.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_init_values.h bnx2x: New microcode part 3/3 2008-06-23 20:32:28 -07:00
bnx2x_link.c bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_link.h bnx2x: Adding bnx2x_link 2008-06-23 20:27:26 -07:00
bnx2x_main.c bnx2x: Update version 2008-06-23 20:36:51 -07:00
bnx2x_reg.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bsd_comp.c
cassini.c cassini: Only use chip checksum for ipv4 packets. 2008-05-21 17:05:34 -07:00
cassini.h
cpmac.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
cs89x0.c [netdrvr] CS89X0: Add cleanup for dma after fail 2008-05-30 22:07:11 -04:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
defxx.c misc drivers/net annotations 2008-03-26 00:18:43 -04:00
defxx.h
depca.c
depca.h
dl2k.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
dl2k.h
dm9000.c DM9000: Remove DEFAULT_TRIGGER for request_irq() flags. 2008-06-24 22:58:36 -04:00
dm9000.h DM9000: Add support for DM9000A and DM9000B chips 2008-06-24 22:57:16 -04:00
dummy.c
e100.c e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx 2008-06-27 01:30:59 -04:00
e2100.c
eepro.c net: eepro autoport typo 2008-04-29 01:56:01 -04:00
eepro100.c
eexpress.c [netdrvr] eexpress: IPv6 fails - multicast problems 2008-05-06 12:22:34 -04:00
eexpress.h
enc28j60.c net/enc28j60: low power mode 2008-06-17 23:07:29 -04:00
enc28j60_hw.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [netdrvr] fealnx: clean up nasty mess of arch ifdefs 2008-06-28 10:23:37 -04:00
fec.c m68knommu: fix FEC driver locking 2008-05-01 08:08:36 -07:00
fec.h m68knommu: fix ColdFire 5272 fec driver hash registers 2008-05-01 08:08:36 -07:00
fec_mpc52xx.c netdev: Convert all drivers away from netif_schedule(). 2008-07-17 19:21:15 -07:00
fec_mpc52xx.h [POWERPC] mpc5200: Allow for fixed speed MII configurations 2008-05-01 11:05:58 -06:00
fec_mpc52xx_phy.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
forcedeth.c netdev: Add netdev->addr_list_lock protection. 2008-07-15 00:13:44 -07:00
gianfar.c netdev: Convert all drivers away from netif_schedule(). 2008-07-17 19:21:15 -07:00
gianfar.h gianfar: delete non NAPI code from the driver. 2008-07-11 01:11:44 -04:00
gianfar_ethtool.c
gianfar_mii.c [netdrvr] gianfar: Determine TBIPA value dynamically 2008-04-29 01:57:57 -04:00
gianfar_mii.h [netdrvr] gianfar: Determine TBIPA value dynamically 2008-04-29 01:57:57 -04:00
gianfar_sysfs.c gianfar: Fix a locking bug in gianfar's sysfs code 2008-05-06 12:01:34 -04:00
hamachi.c hamachi: use netdev_alloc_skb 2008-05-22 14:12:40 -04:00
hp-plus.c
hp.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
hp100.c
hp100.h
hplance.c make hplance_{init,cleanup}_module() static 2008-06-11 21:58:32 -04:00
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c netdev: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
ibmveth.h
ifb.c pkt_sched: Kill netdev_queue lock. 2008-07-17 19:21:30 -07:00
ioc3-eth.c
ipg.c ipg: run-time configurable jumbo frame support 2008-07-04 08:46:54 -04:00
ipg.h ipg: run-time configurable jumbo frame support 2008-07-04 08:46:54 -04:00
isa-skeleton.c
iseries_veth.c [POWERPC] properly declare onstack completion in iseries veth 2008-04-17 07:46:11 +10:00
jazzsonic.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
korina.c korina: misc cleanup 2008-04-25 02:08:51 -04:00
lance.c
lasi_82596.c
lib8390.c [netdrvr] Fix 8390 build breakage 2008-06-11 22:06:31 -04:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c netdev: netdev_priv() can now be sane again. 2008-07-17 19:21:09 -07:00
lp486e.c
mac89x0.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
mac8390.c drivers/net/mac8390.c: make functions static 2008-06-11 21:58:33 -04:00
macb.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
macb.h
mace.c
mace.h
macmace.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
macsonic.c drivers/net/macsonic.c: make functions static 2008-06-11 21:58:37 -04:00
macvlan.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
Makefile Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
meth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: update driver version and author fields 2008-06-12 08:40:39 +02:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
ne-h8300.c
ne.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
ne2.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
ne2k-pci.c
ne3210.c
netconsole.c configfs: Allow ->make_item() and ->make_group() to return detailed errors. 2008-07-17 15:21:29 -07:00
netx-eth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
ni52.c ni52: more unbreaking 2008-03-26 00:18:04 -04:00
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c niu: Add TX multiqueue support. 2008-07-17 19:21:17 -07:00
niu.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
ns83820.c ns8320: use netdev_alloc_skb 2008-05-30 22:19:22 -04:00
pasemi_mac.c pasemi_mac: Access iph->tot_len with correct endianness 2008-07-04 08:15:31 -04:00
pasemi_mac.h
pasemi_mac_ethtool.c
pci-skeleton.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
pcnet32.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
plip.c plip: replace spin_lock_irq with spin_lock_irqsave in irq context 2008-04-01 11:16:04 -07:00
ppp_async.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
ppp_deflate.c
ppp_generic.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
pppoe.c pppoe: warning fix 2008-06-20 21:58:02 -07:00
pppol2tp.c l2tp: Fix potential memory corruption in pppol2tp_recvmsg() 2008-06-10 12:35:00 -07:00
pppox.c
ps3_gelic_net.c ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_net.h ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_wireless.c wext: Emit event stream entries correctly when compat. 2008-06-16 18:50:49 -07:00
ps3_gelic_wireless.h PS3: gelic: Kill the static bounce buffer 2008-06-03 15:00:27 -04:00
qla3xxx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
qla3xxx.h
r6040.c drivers/net/r6040.c: Eliminate double sizeof 2008-06-27 01:28:25 -04:00
r8169.c r8169: remove non-napi code 2008-06-29 15:08:28 +02:00
rionet.c [RAPIDIO] Auto-probe the RapidIO system size 2008-04-29 19:40:28 +10:00
rrunner.c
rrunner.h
s2io-regs.h S2io: Added napi support when MSIX is enabled. 2008-05-22 06:26:21 -04:00
s2io.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
s2io.h S2io: Enable msi-x link interrupts. 2008-07-11 01:11:40 -04:00
sb1000.c sb1000.c: make const arrays static 2008-04-16 20:41:44 -04:00
sb1250-mac.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
sc92031.c sc92031: remove bogus unlikely() 2008-05-30 22:07:17 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sgiseeq.h
sh_eth.c netdev: Convert all drivers away from netif_schedule(). 2008-07-17 19:21:15 -07:00
sh_eth.h net: sh_eth: Fix compile error sh_eth 2008-06-28 10:23:33 -04:00
sis190.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
sis900.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
sis900.h
skge.c
skge.h
sky2.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-19 16:00:04 -07:00
sky2.h sky2: 88E8057 chip support 2008-06-17 23:59:39 -04:00
slhc.c
slip.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
smc91x.h smc91x: fix build error from the SMC_GET_MAC_ADDR API change 2008-06-11 08:38:18 -07:00
smc911x.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc911x.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc9194.c
smc9194.h
sni_82596.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sonic.c
sonic.h
Space.c
spider_net.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
spider_net.h spidernet: change interrupt masks 2008-04-16 20:06:50 -04:00
spider_net_ethtool.c
starfire.c starfire: delete non NAPI code from the driver. 2008-07-07 22:40:42 -07:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
sunbmac.c
sunbmac.h
sundance.c
sungem.c
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. 2008-06-04 12:06:28 -07:00
sunhme.h
sunlance.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c netdev: Convert all drivers away from netif_schedule(). 2008-07-17 19:21:15 -07:00
tehuti.c netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tehuti.h netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tehuti_fw.h
tg3.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
tg3.h tg3: Add shmem options. 2008-05-29 01:38:46 -07:00
tlan.c tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tlan.h tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tsi108_eth.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
tsi108_eth.h
tun.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
typhoon-firmware.h
typhoon.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
typhoon.h
ucc_geth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
ucc_geth.h ucc_geth: Fix a bunch of sparse warnings 2008-05-06 12:02:08 -04:00
ucc_geth_ethtool.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
ucc_geth_mii.c drivers/net: Use linux/of_{device,platform}.h instead of asm 2008-06-30 22:30:36 +10:00
ucc_geth_mii.h
veth.c
via-rhine.c via-rhine: delete non NAPI code from the driver. 2008-07-11 01:11:43 -04:00
via-velocity.c via-velocity: add velocity_set_rxbufsize helper 2008-07-11 01:10:15 -04:00
via-velocity.h via-velocity: remove the bounce buffers 2008-07-11 01:10:13 -04:00
virtio_net.c virtio_net: Set VIRTIO_NET_F_GUEST_CSUM feature 2008-07-11 01:20:33 -04:00
wd.c
xen-netfront.c xen: Avoid allocations causing swap activity on the resume path 2008-07-03 13:21:13 +02:00
yellowfin.c net: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
znet.c
zorro8390.c