aboutsummaryrefslogtreecommitdiffstats
path: root/drivers (follow)
AgeCommit message (Collapse)AuthorFilesLines
2006-01-09[PATCH] PCI: drivers/pci: some cleanupsAdrian Bunk5-10/+8
This patch contains the following cleanups: - hotplug/pciehp_core.c: make the needlessly global hpdriver_context static - #if 0 the following unused functions: - pci.c: pci_bus_max_busnr() - pci.c: pci_max_busnr() - proc.c: pci_proc_attach_bus() - remove.c: pci_remove_device_safe Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] acpiphp: only size new busKristen Accardi1-2/+4
Only size the bus that has been added. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI Hotplug: fix up the sysfs file in the compaq pci hotplug driverGreg Kroah-Hartman3-25/+127
The Compaq PCI Hotplug driver was creating 2 sysfs files that contained nothing but debug information, and had way more than "one value" in them. This patch converts the code to use debugfs for these files instead. Compile tested only. Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI: Reduce nr of ptr derefs in drivers/pci/hotplug/pciehp_core.cJesper Juhl1-40/+50
Here's a small patch to reduce the nr. of pointer dereferences in drivers/pci/hotplug/pciehp_core.c Benefits: - micro speed optimization due to fewer pointer derefs - generated code is slightly smaller - small line length cleanup - better readability Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI: Reduce nr of ptr derefs in drivers/pci/hotplug/pciehprm_acpi.cJesper Juhl1-5/+8
Here's a small patch to reduce the nr. of pointer dereferences in drivers/pci/hotplug/pciehprm_acpi.c Benefits: - micro speed optimization due to fewer pointer derefs - generated code is slightly smaller - better readability Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI: Reduce nr of ptr derefs in drivers/pci/hotplug/rpaphp_pci.cJesper Juhl1-4/+5
Here's a small patch to reduce the nr. of pointer dereferences in drivers/pci/hotplug/rpaphp_pci.c Benefits: - micro speed optimization due to fewer pointer derefs - generated code should be slightly smaller - better readability note: due to lack of both hardware and cross-compile tools this patch is, unfortunately, completely untested. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI: Reduce nr of ptr derefs in drivers/pci/hotplug/cpqphp_core.cJesper Juhl1-54/+67
Here's a small patch to reduce the nr of pointer dereferences in drivers/pci/hotplug/cpqphp_core.c Benefits of this patch: - micro speed optimization due to fewer pointer derefs - generated code is slightly smaller - tiny line length and whitespace cleanup - better readability Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI: Export pci_cfg_space_sizeBenjamin Herrenschmidt1-1/+1
The powerpc PCI code sets up the PCI tree without doing config space accesses in most cases, from the firmware tree. However, it still wants to call pci_cfg_space_size() under some conditions, thus it needs to be made non-static (though I don't see a point to export it to modules). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI: use bus numbers sparsely, if necessaryDominik Brodowski1-2/+37
Add a warning if a child bus may be inaccessible because the parent bridge has wrong secondary or subordinate bus numbers. Note that this may or may not happen on "transparent" bridges, as can be seen in bug #5557. Also, if we do not fix up the assignment of bus numbers, try to make use of the bus number space available. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] pciehp: allow bridged card hotplugRajesh Shah1-24/+28
This patch fixes bugs in the pciehp driver that prevent hot-add of a card with PCI bridges on it. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] pciehp: handle sticky power-fault statusThomas Schaefer1-2/+17
This patch disables power fault, MRL sensor and presence detection interrupts when a PCIe slot is powered-off and enables those interrupts when it is powered-on again. This is necessary to prevent the associated events from causing an endless cycle of interrupts due to the power-fault bit, which stays set till power is restored to the slot. Signed-off-by: Thomas Schaefer <thomas.schaefer@kontron.com> Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI Quirk: 1K I/O space granularity on Intel P64H2Daniel Yeisley2-2/+30
I've implemented a quirk to take advantage of the 1KB I/O space granularity option on the Intel P64H2 PCI Bridge. I had to change probe.c because it sets the resource start and end to be aligned on 4k boundaries (after the quirk sets them to 1k boundaries). I've tested this patch on a Unisys ES7000-600 both with and without the 1KB option enabled. I also tested this on a 2 processor Dell box that doesn't have a P64H2 to make sure there were no negative affects there. Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: Implement get_address callbackKenji Kaneshige1-0/+14
The following patch implements .get_address callback of hotplug_slot_ops for SHPCHP driver. With this patch, we can see bus address of hotplug slots as follows: $ cat address 0000:0b:01 Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI Hotplug/powerpc: more removal of duplicated codelinas@austin.ibm.com2-46/+2
The RPAPHP code contains two routines that appear to be gratuitous copies of very similar pci code. In particular, rpaphp_claim_resource ~~ pci_claim_resource (there is a minor, non-functional difference) rpadlpar_claim_one_bus == pcibios_claim_one_bus (the code is identical) This patch removes the rpaphp versions of the code. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Acked-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI Hotplug/powerpc: remove duplicated codelinas@austin.ibm.com2-14/+3
The RPAPHP code contains a routine that duplicates some existing code. This patch removes the rpaphp version of the code. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Acked-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: fix improper wait for command completionKenji Kaneshige3-37/+27
Current SHPCHP driver uses msleep_interruptible() function to wait for a command completion event. But I think this would cause an unnecessary long wait until timeout, if command completion interrupt came before task state was changed to TASK_INTERRUPTIBLE. This patch fixes this issue. With this patch, command completion becomes faster as follows: o Without this patch # time echo 1 > power real 0m4.708s user 0m0.000s sys 0m0.524s o With this patch # time echo 1 > power real 0m2.221s user 0m0.000s sys 0m0.532s Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: fix improper write to Command Completion Detect bitKenji Kaneshige1-2/+2
Current SHPCHP driver writes a '0' to the Command Completion Detect bit to clear the Command Complete Interrupt Pending. But according to the SHPC spec (See 4.7.3.1 System Interrupts), SHPCHP driver must write '1'. This patch fixes this bug. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: fix improper mmio mappingKenji Kaneshige3-29/+49
Current SHPCHP driver seems not to map MMIO region properly. This patch fixes this bug. This patch also cleanup the code. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: fix improper reference to Mode 1 ECC Capability" bitKenji Kaneshige1-1/+1
The hpc_get_mode1_ECC_cap() function of SHPCHP driver seems to refer the wrong bit for refering the "Mode 1 ECC Capability" bit. This bug seems not to cause any problem so far. But I think this should be fixed. This patch fixes this bug. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: fix improper reference to Slot Avail RegsisterKenji Kaneshige1-17/+16
The hpc_get_max_bus_speed() function of the SHPCHP driver seems to refer wrong bits in the "Slot Avail Register I" and "Slot Avail Register II". This patch fixes this bug. And this also cleanup the code. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] shpchp: replace pci_find_slot() with pci_get_slot()Kenji Kaneshige1-5/+14
This patch replaces pci_find_slot() with pci_get_slot() in the SHPCHP driver. This enables SHPCHP driver to work on multiple PCI segment systems. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI Hotplug: cpqphp_ctrl.c: remove dead codeAdrian Bunk1-21/+7
The Coverity checker spotted that we already did return -ENOMEM if (!p_mem_node). Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCI Hotplug: ibmphp_pci.c copy-n-paste fixJordan, William P1-1/+1
I noticed what appears to be a cut/paste error in drivers/pci/hotplug/ibmphp_pci.c: Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] PCIE: make bus_id for PCI Express devices uniqueSergey Vlasov1-2/+2
The bus_id string must be unique for all devices of that bus in the system, not just for devices with the same parent - otherwise multiple symlinks with identical names appear in /sys/bus/pci_express/devices. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] pci: call pci_read_irq for bridgesKristen Accardi1-0/+1
Call pci_read_irq() for bridges too, so that the pin value is stored for bridges that require interrupts. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] pci: use pin stored in pci_devKristen Accardi1-1/+1
Use the stored value of the interrupt pin rather than try to read the config again. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] apci: use pin stored in pci_devKristen Accardi1-4/+3
Use the stored value of the Interrupt Pin, rather than try to read it again. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09[PATCH] pci: store PCI_INTERRUPT_PIN in pci_devKristen Accardi1-0/+1
Store the value of the INTERRUPT_PIN in the pci_dev structure so that it can be retrieved later. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds25-1911/+824
2006-01-09[PATCH] Update cyblafb driverKnut Petersen2-650/+875
This is a major update to the cyblafb framebuffer driver. Most of the stuff has been tested in the mm tree. Main advantages: ============ - vxres > xres support - ywrap and xpan support - much faster for almost all modes (e.g. 1280x1024-16bpp draws more than 41 full screens of text instead of about 25 full screens of text per second on authors Epia 5000) - module init/exit code fixed - bugs triggered by console rotation fixed - lots of minor improvements - startup modes suitable for high performance scrolling in all directions This diff also contains a lot of white space fixes. No side effects are possible, only one single graphics core is affected. Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-09Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-devLinus Torvalds1-6/+24
2006-01-09Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6Linus Torvalds23-229/+296
2006-01-09Merge branch 'blk-softirq' of git://brick.kernel.dk/data/git/linux-2.6-blockLinus Torvalds6-134/+128
Manual merge for trivial #include changes
2006-01-09[patch] ipw2100: support WEXT-18 enc_capa v3Dan Williams1-1/+4
This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with NetworkManager and other programs that actually check driver & card capabilities. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] fix a few "warning: 'cleanup_card' defined but not used"Denis Vlasenko12-96/+96
These warnings are emitted if non-modular network drivers are built. Fixes just move cleanup_card() definitions into #ifdef MODULE region. /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/wd.c:131: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/3c503.c:152: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/ne.c:216: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/hp.c:106: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/hp-plus.c:142: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/smc-ultra.c:172: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/e2100.c:144: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/es3210.c:159: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/lne390.c:149: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/lance.c:313: warning: 'cleanup_card' defined but not used /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/net/ac3200.c:127: warning: 'cleanup_card' defined but not used Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] forcedeth: TSO fix for large buffersAyaz Abdulla1-64/+100
This contains a bug fix for large buffers. Originally, if a tx buffer to be sent was larger then the maximum size of the tx descriptor, it would overwrite other control bits. In this patch, the buffer is split over multiple descriptors. Also, the fragments are now setup in forward order. Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] remove bouncing mail address of mv643xx_eth maintainerOlaf Hering1-1/+1
Remove bouncing mail address of mv643xx maintainer. Signed-off-by: Olaf Hering <olh@suse.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] e1000: Fix invalid memory referenceKenji Kaneshige1-3/+7
Fix an invalid memory reference in the e1000 driver which would cause kernel panic. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Cc: Jeb Cramer <cramerj@intel.com> Cc: John Ronciak <john.ronciak@intel.com> Cc: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Cc: Jeff Garzik <jgarzik@pobox.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] drivers/net/gianfar.h: "extern inline" -> "static inline"Adrian Bunk1-2/+2
"extern inline" doesn't make much sense. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] drivers/net/bonding/bonding.h: "extern inline" -> "static inline"Adrian Bunk1-4/+4
"extern inline" doesn't make much sense. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] drivers/net/Kconfig: indentation fixAdrian Bunk1-1/+1
This patch fixes a wrong indentation. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] Add MIPS dependency for dm9000 driverFranck1-1/+1
Add MIPS dependency for dm9000 ethernet controller. Indeed this controller is used by some embedded platforms based on MIPS CPUs. Signed-off-by: Franck Bui-Huu <franck.bui@gmail.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] tulip: enable multiport NIC BIOS fixups for x86_64Christoph Dworzak1-1/+1
A BIOS bug affecting some multiport tulip NICs requires an irq fixup in tulip_core.c. This has only been enabled for i686, but it is needed for x86_64 as well. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] sata_nv, spurious interrupts at system startup with MAXTOR 6H500F0 driveAndrew Chew1-6/+24
This patch works around a problem with spurious interrupts seen at boot time when a MAXTOR 6H500F0 drive is present. An ATA interrupt condition is mysteriously present at start of day. If we took too long in issuing the first command, the kernel would basically get tired of the spurious interrupts and turn the interrupt off. Issuing the first command essentially causes the interrupt condition to get acknowledged. I haven't seen this happen with any other drives. What I basically do is ack ATA status by reading it regardless of whether we're expecting to have to handle an interrupt. This clears the start-of-day anomalous interrupt condition, and keeps the kernel from disabling that interrupt due to too many spurious interrupts. Also, I fixed a bug where hotplug interrupts weren't getting acknowledged as handled in the ISR. This was not the cause of the spurious interrupts, but it's the right thing to do anyway. Signed-Off-By: Andrew Chew Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] PPC44x EMAC driver: disable TX status deferral in half-duplex modeEugene Surovegin2-2/+3
Disable TX status deferral (EMACx_MR[MWSW=001]) in half-duplex mode. I have two reports when EMAC stops transmitting when connected to a hub. TX ring debug printouts show complete mess when this happens, probably hardware collision handling doesn't work quite well in this mode. This is relevant only for SoCs with EMAC4 core (440GX, 440SP, 440SPe). Tested on 440GX. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] sk98lin: error handling of pci setupStephen Hemminger1-13/+6
Don't enable the pci device twice (already done in the probe routine). Propogate the error codes from pci_request_region back to initial probing. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] sk98lin: error handling on probeStephen Hemminger1-11/+17
The sk98lin driver doesn't do proper error number handling during initialization. Note: -EAGAIN is a bogus return value for hardware errors. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] sk98lin: use kzallocStephen Hemminger1-2/+1
Trivial use of kzalloc. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] sk98lin: error handling on dual port boardStephen Hemminger1-15/+21
Sk98lin driver error recovery on two port boards is bad. If it fails the second allocation, it will not release resources properly. Also it registers the second port in the pci driver data If second port fails, might as well go with one port. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09[PATCH] sk98lin: not doing high dma properlyStephen Hemminger1-4/+24
Sk98lin 64bit memory handling is wrong. It doesn't set the highdma flag; i.e. the kernel always does bounce buffers. It doesn't fallback to 32 bit mask if it can't get 64 bit mask. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>