aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [PATCH] e100: fixed e100 MDI/MDI-X issuesMalli Chilakala2005-06-27
| | | | | | | | | | Added patch from Eran Mann to fix following e100 MDI/MDI-X issues * MDI/MDI-X autodetection should never be enabled for 82551ER/QM chips * enabling this feature based on eeprom settings Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>
* Merge /spare/repo/netdev-2.6/ branch 'orinoco'Jeff Garzik2005-06-27
|\
| * wireless/orinoco: remove changelog, bump versionJeff Garzik2005-06-27
| |
| * [PATCH] orinoco: monitor mode supportChristoph Hellwig2005-06-27
| | | | | | | | Patch from Pavel Roskin
| * [PATCH] orinoco: always use 802.11 header for rx processingChristoph Hellwig2005-06-27
| | | | | | | | | | | | | | | | | | | | If the frame has ToDS flag set, mark it by setting skb->pkt_type to PACKET_OTHERHOST, so that applications unaware of promiscous mode won't get uplink (STA->AP) packets for STA->STA transmissions relayed by the AP. Thanks to John Denker and David Gibson for finding the problem and the solution. Patch from Pavel Roskin
| * [PATCH] orinoco: scanning supportChristoph Hellwig2005-06-27
| | | | | | | | Patch from Pavel Roskin
| * [PATCH] orinoco: manual roaming for Symbol and IntersilfirmwareChristoph Hellwig2005-06-27
| | | | | | | | Patch from Pavel Roskin
| * [PATCH] orinoco: basic ethtool supportChristoph Hellwig2005-06-27
| | | | | | | | | | I completely reimplemented this based on ethtool_ops, CVS has an ioctl-based version.
| * [PATCH] orinoco: wireless API 15 supportChristoph Hellwig2005-06-27
| | | | | | | | (patch from Moustafa Youssef, updated by Jim Carter and Pavel Roskin).
| * [PATCH] orinoco: include <net/ieee80211.h>Christoph Hellwig2005-06-27
| | | | | | | | We need constants from this header in the next patches.
| * [PATCH] bring over ieee80211.h from mainlineChristoph Hellwig2005-06-27
| | | | | | | | | | the prototypes and inlines aren't actually needed, but let's not diverge from -mm too far.
* | [PATCH] cs89x0.c: support for Philips' pnx0105 network adapterdmitry pervushin2005-06-27
| | | | | | | | | | | | | | | | This patch is to provide support for cs89x0-based network device on Philips' pnx0105 board. Signed-off-by: dmitry pervushin <dpervushin@ru.mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | [PATCH] drivers/net/skfp/: cleanupsAdrian Bunk2005-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains the following cleanups: - make needlessly global code static - remove the completely unused smtparse.c - remove the following unused global functions: - drvfbi.c: init_dma - drvfbi.c: dis_dma - drvfbi.c: get_rom_byte - drvfbi.c: mac_drv_vpd_read - drvfbi.c: mac_drv_pci_fix - fplustm.c: mac_set_func_addr - fplustm.c: mac_del_multicast - hwmtm.c: mac_drv_rx_frag - pcmplc.c: pcm_set_lct_short - smt.c: smt_please_reconnect - smt.c: smt_change_t_neg - smtdef.c: smt_set_defaults Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | [netdrvr] tulip: add pci idHideki Yamane2005-06-27
| |
* | [PATCH] forcedeth: Add support for new device idManfred Spraul2005-06-27
| | | | | | | | This is a multi-part message in MIME format.
* | [PATCH] forcedeth: Poll for link changesManfred Spraul2005-06-27
| | | | | | | | This is a multi-part message in MIME format.
* | [PATCH] forcedeth: add two new pci idsManfred Spraul2005-06-27
| | | | | | | | This is a multi-part message in MIME format.
* | [PATCH] net/lanstreamer: replace schedule_timeout() with ↵Nishanth Aravamudan2005-06-26
| | | | | | | | | | | | | | | | | | | | | | ssleep()/msleep_interruptible() Use ssleep() / msleep_interruptible() [as appropriate] instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org>
* | [PATCH] net/pcnet32: replace schedule_timeout() with msleep_interruptible()Nishanth Aravamudan2005-06-26
| | | | | | | | | | | | | | | | | | Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org>
* | [PATCH] net/farsync: add set_current_state() before schedule_timeout()Nishanth Aravamudan2005-06-26
| | | | | | | | | | | | | | | | | | | | Insert set_current_state() before schedule_timeout() so the function delays as expected. Without the addition, schedule_timeout() will return immediately. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org>
* | [PATCH] net/sb1000: replace nicedelay() with ssleep()Nishanth Aravamudan2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use ssleep() instead of nicedelay() to guarantee the task delays as expected. Remove the prototype and definition of nicedelay(). This is a very weird function, because it is called to sleep in terms of usecs, but always sleeps for 1 second, completely ignoring the parameter. I have gone ahead and followed suit, just sleeping for a second in all cases, but maybe someone with the hardware could tell me if perhaps the paramter *should* matter. Additionally, nicedelay() is called in TASK_INTERRUPTIBLE state, but doesn't deal with signals in case these longer delays do not complete, so I believe ssleep() is more appropriate. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org>
* | [PATCH] wireless: char* -> char[] conversion in airo.cDomen Puncer2005-06-26
|/ | | | | | | | | | | | | | | | | | | | | | | | | This conversion makes code from line 7101 right: if (copy_to_user(com.data, swversion, sizeof(swversion))) size output (before, after): 55416 2228 160 57804 e1cc drivers/net/wireless/airo.o 55412 2228 160 57800 e1c8 drivers/net/wireless/airo.o more outputs from Alexey Dobriyan: 2.95.3: text data bss dec hex filename before 51118 2156 160 53434 d0ba drivers/net/wireless/airo.o after 51118 2156 160 53434 d0ba drivers/net/wireless/airo.o 3.3.5-20050130: before 46999 2156 160 49315 c0a3 drivers/net/wireless/airo.o after 46994 2156 160 49310 c09e drivers/net/wireless/airo.o 4.1.0-20050522: before 45555 2220 160 47935 bb3f drivers/net/wireless/airo.o after 45550 2220 160 47930 bb3a drivers/net/wireless/airo.o Signed-off-by: Domen Puncer <domen@coderock.org>
* Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2005-06-26
|\
| * [IPVS]: Fix for overflowspageexec2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: <pageexec@freemail.hu> $subject was fixed in 2.4 already, 2.6 needs it as well. The impact of the bugs is a kernel stack overflow and privilege escalation from CAP_NET_ADMIN via the IP_VS_SO_SET_STARTDAEMON/IP_VS_SO_GET_DAEMON ioctls. People running with 'root=all caps' (i.e., most users) are not really affected (there's nothing to escalate), but SELinux and similar users should take it seriously if they grant CAP_NET_ADMIN to other users. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NETLINK]: Fix two socket hashing bugs.David S. Miller2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) netlink_release() should only decrement the hash entry count if the socket was actually hashed. This was causing hash->entries to underflow, which resulting in all kinds of troubles. On 64-bit systems, this would cause the following conditional to erroneously trigger: err = -ENOMEM; if (BITS_PER_LONG > 32 && unlikely(hash->entries >= UINT_MAX)) goto err; 2) netlink_autobind() needs to propagate the error return from netlink_insert(). Otherwise, callers will not see the error as they should and thus try to operate on a socket with a zero pid, which is very bad. However, it should not propagate -EBUSY. If two threads race to autobind the socket, that is fine. This is consistent with the autobind behavior in other protocols. So bug #1 above, combined with this one, resulted in hangs on netlink_sendmsg() calls to the rtnetlink socket. We'd try to do the user sendmsg() with the socket's pid set to zero, later we do a socket lookup using that pid (via the value we stashed away in NETLINK_CB(skb).pid), but that won't give us the user socket, it will give us the rtnetlink socket. So when we try to wake up the receive queue, we dive back into rtnetlink_rcv() which tries to recursively take the rtnetlink semaphore. Thanks to Jakub Jelink for providing backtraces. Also, thanks to Herbert Xu for supplying debugging patches to help track this down, and also finding a mistake in an earlier version of this fix. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [ATALK]: Include asm/byteorder.h in linux/atalk.hDavid S. Miller2005-06-26
| | | | | | | | | | | | | | We're using __be16 in userland visible types, so we have to include asm/byteorder.h so that works. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [PKTGEN]: Fix random packet sizes causing panicRobert Olsson2005-06-26
| | | | | | | | | | Signed-off-by: Robert Olsson <robert.olsson@its.uu.se> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [TCP]: Let TCP_CONG_ADVANCED default to nAdrian Bunk2005-06-26
| | | | | | | | | | | | | | | | It doesn't seem to make much sense to let an "If unsure, say N." option default to y. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [IPV4]: Fix thinko in TCP_CONG_BIC default.David S. Miller2005-06-26
| | | | | | | | | | | | | | | | Since it is tristate when we offer it as a choice, we should definte it also as tristate when forcing it as the default. Otherwise kconfig warns. Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-06-26
|\ \
| * | [PATCH] ARM: 2757/1: remove ixdp2400_init_irq from ixdp2800 codeLennert Buytenhek2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek Compiling one kernel that supports both ixdp2400 and ixdp2800 gives an error, as a copy of the ixdp2400 irq init routing accidentally ended up in ixdp2800.c somehow. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Deepak Saxena Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [PATCH] ARM: 2756/1: add ixp2000 msf mappingLennert Buytenhek2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek Add a mapping for the ixp2400 and ixp2800 msf unit. The msf is the ixp2000's 'media and switch fabric' unit, which handles the networking part of the chip. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Deepak Saxena Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [PATCH] ARM: 2755/1: describe ixp2000 virtual memory map layoutLennert Buytenhek2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek Add a comment to asm/arch-ixp2000/ixp2000-regs.h describing the ixp2000 virtual memory map layout. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Deepak Saxena Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [PATCH] ARM: 2754/1: move ixp2000 VMALLOC_END upLennert Buytenhek2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek As the ixdp cpld mappings now live at 0xfe000000, we can push VMALLOC_END upwards to 0xfb000000, where the first iotable mapping begins. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Deepak Saxena Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [PATCH] ARM: 2753/1: move ixdp* cpld mappingsLennert Buytenhek2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Lennert Buytenhek All ixdp platforms currently have a cpld mapped in at 0xfafff000. Since this address is not 1M-aligned, a regular page mapping will be used instead of a section mapping, which opens up the possibility of triggering ixp2400 erratum #66 as we only do the XCB=101 workaround thing for section mappings. There is still a lot of space higher up in the virtual memory map for 1M mappings, so move the cpld mapping to 0xfe000000 and make it 1M big so that a section mapping will be used for it. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Deepak Saxena Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [PATCH] ARM: Add SA_TIMER flag to timer interruptsRussell King2005-06-26
| | | | | | | | | | | | | | | | | | | | | VST needs to know which timer handler is for the timer interrupt. Mark all timer interrupts with the SA_TIMER flag. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [PATCH] DM9000 network driver bugfixSascha Hauer2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two bugs in the dm9000 network driver: - Don't read one byte too much in 8bit mode. - release correct resource Signed-off-by: Jochen Karrer <j.karrer@lightmaze.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | [PATCH] Documentation/networking/dmfe.txt: Make documentation nicerIsmail Donmez2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch indents dmfe.txt to look like other docs. It adds a tip about CNET cards using Davicom chipsets. Also it removes parts where it refers to how to build driver out-of-kernel which seems to be cruft from times where the driver was out of the kernel. Signed-off-by: Ismail Donmez <ismail@kde.org.tr> Signed-off-by: Domen Puncer <domen@coderock.org> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | [PATCH] fealnx.c calls dev_kfree_skb from atomic contextDenis Vlasenko2005-06-26
| | | | | | | | | | | | Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | [PATCH] fix int vs. pm_message_t confusion in airoPavel Machek2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | Fix int vs. pm_message_t confusion in airo. Should change no code. Signed-off-by: Pavel Machek <pavel@suse.cz> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | [PATCH] defxx: Use irqreturn_t for the interrupt handlerMaciej W. Rozycki2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fix for the interrupt handler in the defxx driver to use irqreturn_t. Beside the obvious fix of returning a proper status at all, it actually checks board registers as appropriate for determining if an interrupt has been recorded in the bus-specific interface logic. The patch also includes an obvious one-line fix for SET_NETDEV_DEV needed for the EISA variation, for which I've decided there is no point in sending separately. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | [PATCH] dmfe warning fixAndrew Morton2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/net/tulip/dmfe.c: In function `dmfe_parse_srom': drivers/net/tulip/dmfe.c:1805: warning: passing arg 1 of `__le16_to_cpup' from incompatible pointer type drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type This is basically a guess: Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | [PATCH] document that 8139TOO supports 8129/8130Adrian Bunk2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | The 8129/8130 support is a sub-option that is not visible if the user hasn't enabled the 8139 support. Let's make it a bit easier for users to find the driver for their nic. Signed-off-by: Adrian Bunk <bunk@stusta.de>
* | | [PATCH] net/slip: replace schedule_timeout() with msleep_interruptible()Nishanth Aravamudan2005-06-26
| | | | | | | | | | | | | | | Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected.
* | | [PATCH] drivers/net/ewrk3.c: remove dead codeAdrian Bunk2005-06-26
| | | | | | | | | | | | | | | | | | | | | This patch removes some obviously dead code found by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de>
* | | [PATCH] drivers/net/skfp/: fix LITTLE_ENDIANAdrian Bunk2005-06-26
| | | | | | | | | | | | | | | | | | This patch fixes the LITTLE_ENDIAN #define and a function prototype. Signed-off-by: Adrian Bunk <bunk@stusta.de>
* | | [PATCH] drivers/net/tokenring/: cleanupsAdrian Bunk2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | This patch contains the follwing cleanups: - make needlessly global code static - remove obsolete Emacs settings Signed-off-by: Adrian Bunk <bunk@stusta.de>
* | | [PATCH] pcnet_cs.c: IRQ handler optimizationAndreas Mohr2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During some performance diagnostics I stumbled on this slightly wasteful code in pcnet_cs.c which I made the patch included at the bottom for (two minor comment fixes included). Improvement: instead of *always* calculating lea 0x2c0(%edx),%ebx and then additionally doing the mov %edx,0xc0(%ebx) addition *if we need it*, we now do the *whole* calculation of mov %edx,0x380(%ebx) *only* if we need it. This even manages to save us a whole 16-byte alignment buffer loss in this compilation case. Result: slightly improves IRQ handler performance in both shared and non-shared IRQ case, which should make my rusty P3/700 a slight bit happier. Thank you for your support, Andreas Mohr old asm result (using gcc 3.3.5): 000015a0 <ei_irq_wrapper>: 15a0: 55 push %ebp 15a1: 89 e5 mov %esp,%ebp 15a3: 53 push %ebx 15a4: 8d 9a c0 02 00 00 lea 0x2c0(%edx),%ebx 15aa: e8 fc ff ff ff call 15ab <ei_irq_wrapper+0xb> 15af: 83 f8 01 cmp $0x1,%eax 15b2: 74 03 je 15b7 <ei_irq_wrapper+0x17> 15b4: 5b pop %ebx 15b5: 5d pop %ebp 15b6: c3 ret 15b7: 31 d2 xor %edx,%edx 15b9: 89 93 c0 00 00 00 mov %edx,0xc0(%ebx) 15bf: eb f3 jmp 15b4 <ei_irq_wrapper+0x14> 15c1: eb 0d jmp 15d0 <ei_watchdog> 15c3: 90 nop 15c4: 90 nop 15c5: 90 nop 15c6: 90 nop 15c7: 90 nop 15c8: 90 nop 15c9: 90 nop 15ca: 90 nop 15cb: 90 nop 15cc: 90 nop 15cd: 90 nop 15ce: 90 nop 15cf: 90 nop 000015d0 <ei_watchdog>: new asm result: 000015a0 <ei_irq_wrapper>: 15a0: 55 push %ebp 15a1: 89 e5 mov %esp,%ebp 15a3: 53 push %ebx 15a4: 89 d3 mov %edx,%ebx 15a6: e8 fc ff ff ff call 15a7 <ei_irq_wrapper+0x7> 15ab: 83 f8 01 cmp $0x1,%eax 15ae: 74 03 je 15b3 <ei_irq_wrapper+0x13> 15b0: 5b pop %ebx 15b1: 5d pop %ebp 15b2: c3 ret 15b3: 31 d2 xor %edx,%edx 15b5: 89 93 80 03 00 00 mov %edx,0x380(%ebx) 15bb: eb f3 jmp 15b0 <ei_irq_wrapper+0x10> 15bd: 8d 76 00 lea 0x0(%esi),%esi 000015c0 <ei_watchdog>: Signed-off-by: Andrew Morton <akpm@osdl.org>
* | | drivers/net/: Use the DMA_{64,32}BIT_MASK constantsDomen Puncer2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() This patch includes dma-mapping.h explicitly because it caused errors on some architectures otherwise. See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Domen Puncer <domen@coderock.org>
* | | [PATCH] arlan: module parameter fixesMagnus Damm2005-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the code compiles with and without ARLAN_ENTRY_EXIT_DEBUGGING. Only provide parameter descriptions when parameters are defined. Remove "arlan_"-prefix to shape up built-in parameter names: arlan.arlan_debug -> arlan.debug arlan.arlan_EEPROM_bad -> arlan.EEPROM_bad arlan.arlan_entry_and_exit_debug -> arlan.entry_and_exit_debug arlan.arlan_entry_debug -> arlan.entry_debug arlan.arlan_exit_debug -> arlan.exit_debug Signed-off-by: Magnus Damm <damm@opensource.se>