Jeff Garzik [Wed, 5 Oct 2005 06:11:33 +0000 (02:11 -0400)]
Merge branch 'master'
Pavel Roskin [Wed, 5 Oct 2005 01:33:10 +0000 (21:33 -0400)]
[PATCH] orinoco: Information leakage due to incorrect padding
The orinoco driver can send uninitialized data exposing random pieces of
the system memory. This happens because data is not padded with zeroes
when its length needs to be increased.
Reported by Meder Kydyraliev <meder@o0o.nu>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Linus Torvalds [Tue, 4 Oct 2005 23:55:43 +0000 (16:55 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
Deepak Saxena [Tue, 4 Oct 2005 23:32:38 +0000 (16:32 -0700)]
[PATCH] Fix broken IXP4xx GPIO macro
Macro ended up backwards during one of cleanups. Found by Alessandro Zummo.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Tue, 4 Oct 2005 22:57:53 +0000 (15:57 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Andi Kleen [Tue, 4 Oct 2005 22:21:39 +0000 (00:21 +0200)]
[PATCH] x86_64: Drop global bit from early low mappings
Drop global bit from early low mappings
Suggested by Linus, originally also proposed by Suresh.
This fixes a race condition with early start of udev, originally
tracked down by Suresh B. Siddha. The problem was that switching
to the user space VM would not clear the global low mappings
for the beginning of memory, which lead to memory corruption.
Drop the global bits.
The kernel mapping stays global because it should stay constant.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Nicolas Pitre [Tue, 4 Oct 2005 22:17:53 +0000 (23:17 +0100)]
[ARM] 2952/1: fix a register clobber list
Patch from Nicolas Pitre
If gcc decides to assign lr to %0 we're screwed.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Tue, 4 Oct 2005 22:17:52 +0000 (23:17 +0100)]
[ARM] 2951/1: fix wrong comment
Patch from Nicolas Pitre
The cmpxchg emulation syscall needs write access.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Sascha Hauer [Tue, 4 Oct 2005 22:17:52 +0000 (23:17 +0100)]
[ARM] 2950/1: i.MX gpio setup function
Patch from Sascha Hauer
Current implementation of imx_gpio_mode does not allow to
configure all alternate routing possibilities of the i.MX. With
this patch every bit in the gpio setup registers has a
corresponding bit in the gpio_mode parameter, so every routing
should be possible now.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Sascha Hauer [Tue, 4 Oct 2005 22:17:51 +0000 (23:17 +0100)]
[ARM] 2949/1: Hynix h720x Run mode
Patch from Sascha Hauer
After coming out of idle mode the h720x goes into slow mode. Switch
it back to run mode.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Tue, 4 Oct 2005 20:55:22 +0000 (13:55 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
Allan Graves [Tue, 4 Oct 2005 18:53:52 +0000 (14:53 -0400)]
[PATCH] uml: Fix sysrq-r support for skas mode
The old code had the IP and SP coming from the registers in the thread
struct, which are completely wrong since those are the userspace
registers. This fixes that by pulling the correct values from the
jmp_buf in which the kernel state of each thread is stored.
Signed-off-by: Allan Graves <allan.graves@oracle.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Dike [Tue, 4 Oct 2005 18:53:49 +0000 (14:53 -0400)]
[PATCH] UML - Fix Al's build tidying
Al's build tidying missed one bit from me - without this UML doesn't boot.
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Acked-by: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 4 Oct 2005 16:48:44 +0000 (17:48 +0100)]
[PATCH] bfs iget() abuses
bfs_fill_super() walks the inode table to get the bitmap of free inodes
and collect stats. It has no business using iget() for that - it's a
lot of extra work, extra icache pollution and more complex code.
Switched to walking the damn thing directly.
Note: that also allows to kill ->i_dsk_ino in there - separate patch if
Tigran can confirm that this field can be zero only for deleted inodes
(i.e. something that could only be found during that scan and not by
normal lookups).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexey Dobriyan [Tue, 4 Oct 2005 16:43:06 +0000 (17:43 +0100)]
[PATCH] bfs endianness annotations
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 4 Oct 2005 16:40:44 +0000 (17:40 +0100)]
[PATCH] bogus kfree() in ibmtr
On several failure exits in ibmtr we end up doing kfree() on dev->priv,
with dev allocated by alloc_trdev() and ->priv never reassigned.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 4 Oct 2005 16:36:04 +0000 (17:36 +0100)]
[PATCH] missing include in megaraid_sas
megaraid_sas depends on arch-specific indirect includes pulling
fs.h in; on alpha they do not.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Robert Olsson [Tue, 4 Oct 2005 20:01:58 +0000 (13:01 -0700)]
[IPV4]: fib_trie root-node expansion
The patch below introduces special thresholds to keep root node in the trie
large. This gives a flatter tree at the cost of a modest memory increase.
Overall it seems to be gain and this was also proposed by one the authors
of the paper in recent a seminar.
Main table after loading 123 k routes.
Aver depth: 3.30
Max depth: 9
Root-node size 12 bits
Total size: 4044 kB
With the patch:
Aver depth: 2.78
Max depth: 8
Root-node size 15 bits
Total size: 4150 kB
An increase of 8-10% was seen in forwading performance for an rDoS attack.
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
YOSHIFUJI Hideaki [Tue, 4 Oct 2005 20:00:39 +0000 (13:00 -0700)]
[IPV6]: Fix infinite loop in udp_v6_get_port().
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Tue, 4 Oct 2005 16:34:00 +0000 (09:34 -0700)]
Merge /pub/scm/linux/kernel/git/aia21/ntfs-2.6
Linus Torvalds [Tue, 4 Oct 2005 15:11:13 +0000 (08:11 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
Jeff Garzik [Tue, 4 Oct 2005 12:22:13 +0000 (08:22 -0400)]
Merge rsync://bughost.org/repos/ieee80211-delta/
Mateusz Berezecki [Tue, 4 Oct 2005 12:14:00 +0000 (08:14 -0400)]
[wireless ipw2200] remove redundant return statement
Anton Altaparmakov [Tue, 4 Oct 2005 12:08:53 +0000 (13:08 +0100)]
NTFS: Fix a 64-bitness bug where a left-shift could overflow a 32-bit variable
which we now cast to 64-bit first (fs/ntfs/mft.c::map_mft_record_page().
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Anton Altaparmakov [Tue, 4 Oct 2005 12:06:00 +0000 (13:06 +0100)]
NTFS: Fix a stupid bug in __ntfs_bitmap_set_bits_in_run() which caused the
count to become negative and hence we had a wild memset() scribbling
all over the system's ram.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
John W. Linville [Wed, 28 Sep 2005 21:50:53 +0000 (17:50 -0400)]
[PATCH] bonding: replicate IGMP traffic in activebackup mode
Replicate IGMP frames across all slaves in activebackup mode. This
ensures fail-over is rapid for multicast traffic as well. Otherwise,
multicast traffic will be lost until the next IGMP membership report
poll timeout.
This is conceptually similar to the treatment of IGMP traffic in
bond_alb_xmit. In that case, IGMP traffic transmitted on any slave
is re-routed to the active slave in order to ensure that multicast
traffic continues to be directed to the active receiver.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
John Linville [Tue, 4 Oct 2005 11:51:45 +0000 (07:51 -0400)]
[netdrvr s2io] Add a MODULE_VERSION entry
John W. Linville [Wed, 28 Sep 2005 21:50:51 +0000 (17:50 -0400)]
[PATCH] s2io: change strncpy length arg to use size of target
Use the size of the target array for the length argument to strncpy
instead of the size of the source or a magic number.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michal Schmidt [Tue, 4 Oct 2005 11:46:21 +0000 (07:46 -0400)]
airo: fix resume
Cisco Aironet doesn't resume properly from swsusp, because the resume
method confuses a PM_EVENT_* for a PCI power state. It thinks that it is
resuming from PCI_D1 and doesn't do the necessary initialization of the
card.
Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>
Ralf Baechle [Tue, 4 Oct 2005 11:22:16 +0000 (12:22 +0100)]
[PATCH] AX.25: Convert mkiss.c to DEFINE_RWLOCK
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
drivers/net/hamradio/mkiss.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Ralf Baechle [Tue, 4 Oct 2005 11:20:24 +0000 (12:20 +0100)]
[PATCH] AX.25: Delete debug printk from mkiss driver
Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
--
drivers/net/hamradio/mkiss.c | 1 -
1 files changed, 1 deletion(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Garzik [Tue, 4 Oct 2005 11:13:43 +0000 (07:13 -0400)]
e1000: fix warnings
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 11:08:19 +0000 (07:08 -0400)]
e1000: Flush shadow RAM
Flush shadow RAM to save updates to ASF related bits for 82573 controllers.
These bits are past the first 63 words of NVM.
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 11:07:24 +0000 (07:07 -0400)]
e1000: Added msleep_interruptible delay
added msleep_interruptible delay right before returning from diag_test to allow
the phy to recover from reset
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 11:05:44 +0000 (07:05 -0400)]
e1000: Fixes for packet split related issues
Fixes for packet split related issues
* On platforms where PAGE_SIZE > 4K, driver will use only required number of
pages compared to always using 3 pages.
* Packet split won't be used if the PAGE_SIZE is > 16K
* Adds a statistics counter to splits.
* Setting the non Null ptr to zero sized buffers to solve packet split
receive descriptor error
* When the no of pages needed is calculated, the header buffer is not
included for a given MTU.
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 11:04:22 +0000 (07:04 -0400)]
e1000: Enable custom configuration bits for 82571/2 controllers
Enable custom configuration bits for 82571/2 controllers. The bits are
required for correct functionality of these controllers.
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 11:03:23 +0000 (07:03 -0400)]
e1000: implementation of the multi-queue feature
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 11:01:55 +0000 (07:01 -0400)]
e1000: multi-queue defines/modification to data structures
defines/modifies data structures, function prototypes and changes to the
driver rendering it capable of handling <n> tx/rx queues
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Mallikarjuna R Chilakala [Tue, 4 Oct 2005 10:58:59 +0000 (06:58 -0400)]
e1000: Support for 82571 and 82572 controllers
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Ravinandan Arakali [Tue, 4 Oct 2005 10:41:24 +0000 (06:41 -0400)]
[PATCH] S2io: MSI/MSI-X support (runtime configurable)
This patch adds support for MSI/MSI-X feature to the driver. It is
a runtime parameter(for now, loadable parameter). Default is INTA.
Patch has been tested on IA64 platform with Xframe II adapter,
both of which support MSI-X feature. An improvement of about 7%
in throughput(both Tx and Rx) was observed and a reduction by 7%
in CPU utilization during Tx test.
Signed-off-by: Ravinandan Arakali <ravinandan.arakali@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Garzik [Tue, 4 Oct 2005 09:30:02 +0000 (05:30 -0400)]
Merge branch 'upstream-fixes'
Randy Dunlap [Tue, 4 Oct 2005 07:41:22 +0000 (00:41 -0700)]
[PATCH] sungem: fix gfp flags type
Fix nocast sparse warnings in sungen:
drivers/net/sungem.h:1040:45: warning: implicit cast to nocast type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Randy Dunlap [Tue, 4 Oct 2005 04:24:36 +0000 (21:24 -0700)]
[PATCH] ns83820: fix gfp flags type
Fix implicit nocast warnings in ns83820 code, including __nocast:
drivers/net/ns83820.c:603:46: warning: implicit cast to nocast type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Randy Dunlap [Tue, 4 Oct 2005 04:24:45 +0000 (21:24 -0700)]
[PATCH] ieee80211: fix gfp flags type
Fix implicit nocast warnings in ieee80211 code, including __nocast:
net/ieee80211/ieee80211_tx.c:215:9: warning: implicit cast to nocast type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Ion Badulescu [Tue, 4 Oct 2005 02:31:36 +0000 (22:31 -0400)]
[netdrvr starfire] fix highmem and broken firmware issues
Unfortunately, [your patch] might address the crash but doesn't address
the real problem. It turns out that the problem is one of padding
(the firmware cksum engine works only on 32-bit chunks, yuck), so
the special casing for length == 1 wasn't sufficient anyway.
This patch addresses the issue, as well the other issue of i386 +
CONFIG_HIGHMEM being broken. It is pretty much the same workaround
that Adaptec themselves used in their Windows driver. I have yet to
check if it fixes the problem when the skb is non-linear, but this
patch _will_ solve the problem for 99% of the users out there (those
not using sendfile).
Signed-off-by: Ion Badulescu <ionut@badula.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Grant Coady [Fri, 9 Sep 2005 14:14:05 +0000 (00:14 +1000)]
[PATCH] net/Kconfig: convert pocket_adapter ISA to PARPORT
This patch changes pocket and parallel adaptors to depend on PARPORT
instead of ISA in order to get the option in newer SuperIO based systems.
Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Wade Farnsworth [Tue, 4 Oct 2005 02:21:33 +0000 (22:21 -0400)]
[PATCH] emac: add support for platform-specific unsupported PHY features
This patch adds support to the ibm_emac driver for platform-specific
unsupported PHY features.
The patch attempts to determine the highest speed and duplex when
autonegotiation is unsupported.
Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Philippe De Muyter [Thu, 22 Sep 2005 09:09:44 +0000 (11:09 +0200)]
[PATCH] tulip
DC21143 rev 48 10Mbit HDX fix
The patch below is necessary to allow my Digital DS21143 Tulip rev 48
ethernet interface to work in a 10Mbit Half Duplex network. Without
it, the driver keeps retrying other modes in an endless loop. It seems
like someone already had the same problem with a rev 65 board :)
Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jay Vosburgh [Mon, 26 Sep 2005 23:11:50 +0000 (16:11 -0700)]
[PATCH] fix bonding crash, remove old ABI support
David S. Miller <davem@davemloft.net> wrote:
>I think removing support for older ifenslave binaries is
>the least painful solution to this problem.
This patch removes backwards compatibility for old ifenslave
binaries (ifenslave prior to verison 1.0.0).
I did not similarly modify ifenslave itself; with sysfs on the
horizon, I don't see that as being worthwhile.
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Ursula Braun [Fri, 30 Sep 2005 08:19:19 +0000 (10:19 +0200)]
[PATCH] s390: introducing support in qeth for new OSA CHPID type OSN
This patch introduces new feature in qeth:
qeth enhancement provides the device driver support for
the Communication Controller for Linux on System z9 and zSeries
(CCL), which is software that enables running the Network Control
Program (NCP) on a zSeries machine. The OSA CDLC support is based
on a new IBM mainframe CHPID type called Open Systems Adaper for
NCP (OSN). In case of OSN qeth communicates with the type-OSN
OSA-card on one hand, and with the CCL-kernel-component Network
Device Handler (NDH) on the other.
Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Garzik [Tue, 4 Oct 2005 02:06:19 +0000 (22:06 -0400)]
Merge branch 'upstream-fixes'
Ursula Braun [Fri, 30 Sep 2005 08:17:24 +0000 (10:17 +0200)]
[PATCH] s390: qeth driver fixes
From: Peter Tiedemann <ptiedem@de.ibm.com>
From: Frank Pavlic <pavlic@de.ibm.com>
minor qeth fixes:
- free old skb in qeth_realloc_headroom after duplicating skb
- disable IPV6 support for Hipersockets devices
- call ccw_device_set_offline on every channel regardless
of the return value of the prior ccw_device_set_offline calls
- allocate qdio structures in DMA-area
- schedule recovery of appropriate card
when cable has been inserted again.
- add missing initialization of card->lock
- write sequence number in skb->cb for SNA protocol which
requires strictly serialized packets.
Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
diffstat:
qeth.h | 2 ++
qeth_main.c | 37 +++++++++++++++++--------------------
2 files changed, 19 insertions(+), 20 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Komuro [Tue, 4 Oct 2005 02:03:28 +0000 (22:03 -0400)]
[netdrvr] fix smc91c92_cs multicast bug
The smc91c92_cs multicast does not work
if the count of multicast address is 1.
Signed-off-by: <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Randy Dunlap [Mon, 3 Oct 2005 05:41:09 +0000 (22:41 -0700)]
[PATCH] ieee80211: fix gfp flags type
Fix implicit nocast warnings in ieee80211 code:
net/ieee80211/ieee80211_tx.c:215:9: warning: implicit cast to nocast type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Randy Dunlap [Mon, 3 Oct 2005 05:42:11 +0000 (22:42 -0700)]
[PATCH] ns83820: fix gfp flags type
Fix implicit nocast warnings in ns83820 code:
drivers/net/ns83820.c:603:46: warning: implicit cast to nocast type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jouni Malinen [Mon, 3 Oct 2005 00:19:01 +0000 (17:19 -0700)]
[PATCH] hostap: Unregister netdevs before freeing local data
Unregister all netdevs before freeing local data. I was unable to
trigger any crashes without this change when running busy loops for
driver operations when ejecting a Prism2 PC Card. Anyway, should there
be a race condition with this, better make it less likely to happen by
unregistering the netdevs first.
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jouni Malinen [Mon, 3 Oct 2005 00:19:00 +0000 (17:19 -0700)]
[PATCH] hostap: Do not free local->hw_priv before unregistering netdev
local->hw_priv was being freed and set to NULL just before calling
prism2_free_local_data(). However, this may expose a race condition in
which something ends up trying to use hw_priv during shutdown. I
haven't noticed this happening, but better be safe than sorry, so
let's postpone hw_priv freeing to happen only after
prism2_free_local_data() has returned.
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jouni Malinen [Mon, 3 Oct 2005 00:18:59 +0000 (17:18 -0700)]
[PATCH] hostap: Fix hostap_pci build with PRISM2_IO_DEBUG
The debug version of I/O functions in hostap_pci had not survived the
change to start using hw_priv pointer, so let's fix them to actually
define the local hw_priv variable.
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jouni Malinen [Mon, 3 Oct 2005 00:18:58 +0000 (17:18 -0700)]
[PATCH] hostap: Remove hw specific dev_open/close handlers
Host AP driver used hardware model specific dev_open/close handlers
that were called on dev_open/close if the hardware driver had
registered the handler. These were only used for hostap_cs and only
for tracking whether any of the netdevs were UP. This information is
already available from local->num_dev_open, so there is not need for
the special open/close handler.
Let's get rid of these handlers. In addition to cleaning up the code,
this fixes a module refcounting issue for hostap_cs where ejecting the
card while any of the netdevs were open did not decrement refcount
properly.
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Stephen Hemminger [Mon, 3 Oct 2005 19:03:13 +0000 (12:03 -0700)]
[PATCH] skge: set mac address oops with bonding
Skge driver was bringing link up/down when changing mac
address. This doesn't work in the bonding environment, and is
more effort than needed.
Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=5271
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
David S. Miller [Tue, 4 Oct 2005 00:37:27 +0000 (17:37 -0700)]
[SUNSU]: Fix bogus locking in sunsu_change_mouse_baud()
The lock is not held when calling this function, so we
shouldn't drop then reacquire it.
Based upon a report from Jim MacBaine.
Signed-off-by: David S. Miller <davem@davemloft.net>
Adrian Bunk [Tue, 4 Oct 2005 00:37:02 +0000 (17:37 -0700)]
[SPARC]: "extern inline" doesn't make much sense.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 3 Oct 2005 23:25:23 +0000 (16:25 -0700)]
[TG3]: Update driver version and release date.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 3 Oct 2005 23:07:30 +0000 (16:07 -0700)]
[IPV4]: Update icmp sysctl docs and disable broadcast ECHO/TIMESTAMP by default
It's not a good idea to be smurf'able by default.
The few people who need this can turn it on.
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Mon, 3 Oct 2005 21:36:32 +0000 (14:36 -0700)]
[IPV4]: Get rid of bogus __in_put_dev in pktgen
This patch gets rid of a bogus __in_dev_put() in pktgen.c. This was
spotted by Suzanne Wood.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Mon, 3 Oct 2005 21:35:55 +0000 (14:35 -0700)]
[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl
The following patch renames __in_dev_get() to __in_dev_get_rtnl() and
introduces __in_dev_get_rcu() to cover the second case.
1) RCU with refcnt should use in_dev_get().
2) RCU without refcnt should use __in_dev_get_rcu().
3) All others must hold RTNL and use __in_dev_get_rtnl().
There is one exception in net/ipv4/route.c which is in fact a pre-existing
race condition. I've marked it as such so that we remember to fix it.
This patch is based on suggestions and prior work by Suzanne Wood and
Paul McKenney.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 3 Oct 2005 21:21:58 +0000 (14:21 -0700)]
[IPV6]: Fix leak added by udp connect dst caching fix.
Based upon a patch from Mitsuru KANDA <mk@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Yan Zheng [Mon, 3 Oct 2005 21:19:15 +0000 (14:19 -0700)]
[IPV6]: Fix ipv6 fragment ID selection at slow path
Signed-Off-By: Yan Zheng <yanzheng@21cn.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Mon, 3 Oct 2005 21:18:10 +0000 (14:18 -0700)]
[IPV4]: Fix "Proxy ARP seems broken"
Meelis Roos <mroos@linux.ee> wrote:
> RK> My firewall setup relies on proxyarp working. However, with 2.6.14-rc3,
> RK> it appears to be completely broken. The firewall is 212.18.232.186,
>
> Same here with some kernel between 14-rc2 and 14-rc3 - no reposnse to
> ARP on a proxyarp gateway. Sorry, no exact revison and no more debugging
> yet since it'a a production gateway.
The breakage is caused by the change to use the CB area for flagging
whether a packet has been queued due to proxy_delay. This area gets
cleared every time arp_rcv gets called. Unfortunately packets delayed
due to proxy_delay also go through arp_rcv when they are reprocessed.
In fact, I can't think of a reason why delayed proxy packets should go
through netfilter again at all. So the easiest solution is to bypass
that and go straight to arp_process.
This is essentially what would've happened before netfilter support
was added to ARP.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Russell King [Mon, 3 Oct 2005 21:16:34 +0000 (14:16 -0700)]
[NET]: Fix "sysctl_net.c:36: error: 'core_table' undeclared here"
During the build for ARM machine type "fortunet", this error occurred:
CC net/sysctl_net.o
net/sysctl_net.c:36: error: 'core_table' undeclared here (not in a function)
It appears that the following configuration settings cause this error
due to a missing include:
CONFIG_SYSCTL=y
CONFIG_NET=y
# CONFIG_INET is not set
core_table appears to be declared in net/sock.h. if CONFIG_INET were
defined, net/sock.h would have been included via:
sysctl_net.c -> net/ip.h -> linux/ip.h -> net/sock.h
so include it directly.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet [Mon, 3 Oct 2005 21:13:38 +0000 (14:13 -0700)]
[INET]: speedup inet (tcp/dccp) lookups
Arnaldo and I agreed it could be applied now, because I have other
pending patches depending on this one (Thank you Arnaldo)
(The other important patch moves skc_refcnt in a separate cache line,
so that the SMP/NUMA performance doesnt suffer from cache line ping pongs)
1) First some performance data :
--------------------------------
tcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()
The most time critical code is :
sk_for_each(sk, node, &head->chain) {
if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))
goto hit; /* You sunk my battleship! */
}
The sk_for_each() does use prefetch() hints but only the begining of
"struct sock" is prefetched.
As INET_MATCH first comparison uses inet_sk(__sk)->daddr, wich is far
away from the begining of "struct sock", it has to bring into CPU
cache cold cache line. Each iteration has to use at least 2 cache
lines.
This can be problematic if some chains are very long.
2) The goal
-----------
The idea I had is to change things so that INET_MATCH() may return
FALSE in 99% of cases only using the data already in the CPU cache,
using one cache line per iteration.
3) Description of the patch
---------------------------
Adds a new 'unsigned int skc_hash' field in 'struct sock_common',
filling a 32 bits hole on 64 bits platform.
struct sock_common {
unsigned short skc_family;
volatile unsigned char skc_state;
unsigned char skc_reuse;
int skc_bound_dev_if;
struct hlist_node skc_node;
struct hlist_node skc_bind_node;
atomic_t skc_refcnt;
+ unsigned int skc_hash;
struct proto *skc_prot;
};
Store in this 32 bits field the full hash, not masked by (ehash_size -
1) Using this full hash as the first comparison done in INET_MATCH
permits us immediatly skip the element without touching a second cache
line in case of a miss.
Suppress the sk_hashent/tw_hashent fields since skc_hash (aliased to
sk_hash and tw_hash) already contains the slot number if we mask with
(ehash_size - 1)
File include/net/inet_hashtables.h
64 bits platforms :
#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\
(((__sk)->sk_hash == (__hash))
((*((__u64 *)&(inet_sk(__sk)->daddr)))== (__cookie)) && \
((*((__u32 *)&(inet_sk(__sk)->dport))) == (__ports)) && \
(!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))
32bits platforms:
#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\
(((__sk)->sk_hash == (__hash)) && \
(inet_sk(__sk)->daddr == (__saddr)) && \
(inet_sk(__sk)->rcv_saddr == (__daddr)) && \
(!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))
- Adds a prefetch(head->chain.first) in
__inet_lookup_established()/__tcp_v4_check_established() and
__inet6_lookup_established()/__tcp_v6_check_established() and
__dccp_v4_check_established() to bring into cache the first element of the
list, before the {read|write}_lock(&head->lock);
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Acked-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Mon, 3 Oct 2005 21:02:39 +0000 (14:02 -0700)]
[TG3]: Refine AMD K8 write-reorder chipset test.
Test for VIA K8T800 north bridge instead of AMD K8 HyperTransport
bridge based on new information from Andi Kleen. The AMD
HyperTransport interface is not responsible for PCI transactions
and so the re-ordering is more likely done by the VIA north bridge.
This code is subject to change if we get more information from AMD
or VIA.
PCI Express devices are excluded from doing the read flush since all
chipsets in the write_reorder list are PCI chipsets.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Mon, 3 Oct 2005 21:01:37 +0000 (14:01 -0700)]
[CASSINI]: Convert to ethtool_ops
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Mon, 3 Oct 2005 20:57:23 +0000 (13:57 -0700)]
[NET]: Fix packet timestamping.
I've found the problem in general. It affects any 64-bit
architecture. The problem occurs when you change the system time.
Suppose that when you boot your system clock is forward by a day.
This gets recorded down in skb_tv_base. You then wind the clock back
by a day. From that point onwards the offset will be negative which
essentially overflows the 32-bit variables they're stored in.
In fact, why don't we just store the real time stamp in those 32-bit
variables? After all, we're not going to overflow for quite a while
yet.
When we do overflow, we'll need a better solution of course.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ravikiran G Thirumalai [Mon, 3 Oct 2005 17:36:28 +0000 (10:36 -0700)]
[PATCH] x86_64: Fix numa node topology detection for srat based x86_64 boxes
2.6.14-rc2 does not assign cpus to proper nodeids on our em64t numa boxen.
Our boxes use acpi srat for parsing the numa information.
srat_detect_node() used phys_proc_id[] to get to the cpu's local apic id,
but phys_proc_id[] represents the cpu<->initial_apic_id mapping. The
following patch fixes this problem. Now apicid_to_node[] is properly
indexed with the local apic id.
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
James Ketrenos [Mon, 3 Oct 2005 15:23:42 +0000 (10:23 -0500)]
Lindent and trailing whitespace script executed ieee80211 subsystem
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Ivo van Doorn [Mon, 3 Oct 2005 15:20:47 +0000 (10:20 -0500)]
When an assoc_resp is received the network structure is not completely
initialized which can cause problems for drivers that expect the network
structure to be completely filled in.
This patch will make sure the network is filled in as much as possible.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Ivo van Doorn [Mon, 3 Oct 2005 15:19:25 +0000 (10:19 -0500)]
Currently the info_element is parsed by 2 seperate functions, this
results in a lot of duplicate code.
This will move the parsing stage into a seperate function.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Linus Torvalds [Mon, 3 Oct 2005 15:07:10 +0000 (08:07 -0700)]
Merge /linux/kernel/git/jejb/scsi-for-linus-2.6
Paul Jackson [Mon, 3 Oct 2005 07:29:10 +0000 (00:29 -0700)]
[PATCH] Document patch subject line better
Improve explanation of the Subject line fields in
Documentation/SubmittingPatches Canonical Patch Format.
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Randy Dunlap [Mon, 3 Oct 2005 15:02:14 +0000 (10:02 -0500)]
Fix implicit nocast warnings in ieee80211 code:
net/ieee80211/ieee80211_tx.c:215:9: warning: implicit cast to nocast type
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Ivo van Doorn [Mon, 3 Oct 2005 14:50:40 +0000 (09:50 -0500)]
This will move the ieee80211_is_ofdm_rate function to the ieee80211.h
header, and I also added the ieee80211_is_cck_rate counterpart.
Various drivers currently create there own version of these functions,
but I guess the ieee80211 stack is the best place to provide such
routines.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
James Bottomley [Sat, 1 Oct 2005 14:38:05 +0000 (09:38 -0500)]
[SCSI] Legacy MegaRAID: Fix READ CAPACITY
Some Legacy megaraid cards can't actually cope with the scatter/gather
version of the READ CAPACITY command (which is what we now send them
since altering all SCSI internal I/O to go via the block layer). Fix
this (and a few other broken megaraid driver assumptions) by sending
the non-sg version of the command if the sg list only has a single
element.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Linus Torvalds [Mon, 3 Oct 2005 01:28:32 +0000 (18:28 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Paul Jackson [Mon, 3 Oct 2005 01:01:42 +0000 (18:01 -0700)]
[PATCH] Document from line in patch format
Document more details of patch format such as the "from" line
and the "---" marker line, and provide more references for
patch guidelines.
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Catalin Marinas [Sun, 2 Oct 2005 21:34:35 +0000 (22:34 +0100)]
[ARM] 2943/1: Clear the exclusive monitor in v6_early_abort
Patch from Catalin Marinas
Data abort caused by ldrex/strex can leave the exclusive monitor in an
unpredictable state. It is recommended that a clrex/strex is performed to
clear this state.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Richard Henderson [Sun, 2 Oct 2005 19:49:52 +0000 (12:49 -0700)]
[PATCH] alpha: fix kernel alignment traps
Pass in the pointer to the on-stack registers rather than using them
directly as the arguments.
Ivan noticed that I missed a spot when purging the registers as first
stack parameter idiom.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
James Bottomley [Sun, 2 Oct 2005 20:22:35 +0000 (15:22 -0500)]
[SCSI] aic7xxx/aic79xx: fix module removal path not to panic
In these drivers, scsi_remove_host() is called too late, at the point
it is called, the driver has already shut down too far to accept any
I/O that the shutdown might generate. Any generated I/O actually
triggers a panic.
Fix this by calling scsi_remove_host() as early as possible and not
calling scsi_host_put() until just before we kfree the ahc_softc.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Sun, 2 Oct 2005 17:59:49 +0000 (12:59 -0500)]
[SCSI] fix potential panic with proc on module removal
There's a problem in our host release in that it calls
scsi_proc_hostdir_rm(). However, if you hold a reference to the host as
you remove the module, the host template (which proc uses) will be freed
and the system will panic when the host device is finally released.
Fix this by moving scsi_proc_hostdir_rm() to where it should be: in
scsi_remove_host().
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Russell King [Sun, 2 Oct 2005 17:12:03 +0000 (18:12 +0100)]
[ARM] Fix init printk for EBSA110 network driver, and link timer
Arrange for the initialisation printks to happen after we've
registered the network interface, so we know what name the
device is. Also, check the link every 500ms (and use
msecs_to_jiffies.)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sun, 2 Oct 2005 17:02:25 +0000 (18:02 +0100)]
[ARM] Fix EBSA110 network driver link detection
EBSA110 link detection didn't read the register - it wrote it. Oops.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Sun, 2 Oct 2005 00:02:13 +0000 (17:02 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Sven Henkel [Sat, 1 Oct 2005 22:30:33 +0000 (08:30 +1000)]
[PATCH] ppc32: Add new iBook 12" to PowerMac models table
This adds the new iBook G4 (manufactured after July 2005) to the
PowerMac models table. The model name (PowerBook6,7) is taken from a
12" iBook, I don't know if it also matches the 14" version. The patch
applies to a vanilla 2.6.13.2 kernel.
Signed-off-by: Sven Henkel <shenkel@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Sven Henkel [Sat, 1 Oct 2005 22:29:18 +0000 (08:29 +1000)]
[PATCH] pmac/radeonfb: Add suspend support for M11 chip in new iBook 12"
This adds suspend support for the Radeon M11 chip in 12" iBooks
manufactured after July 2005. I don't know if the new 14" iBooks also
have that chip, so they might also be supported.
The chip identifies itself as "RV350 NV" (pci id 0x4e56), revision 0x80.
Apple calls it "Snowy", xfree86 names it "ATI FireGL Mobility T2 (M11)
NV (AGP)". So, we seem to be lucky here: The suspend-code for the M10
(which also is a "RV350 NV") works flawless for that chip.
Signed-off-by: Sven Henkel <shenkel@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Vincent Sanders [Sat, 1 Oct 2005 21:56:34 +0000 (22:56 +0100)]
[ARM] 2945/1: ARM fortunet fails to build because of missing include
Patch from Vincent Sanders
When building the fortunet ARM platform it fails to compile because of
missing include.
Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Vincent Sanders [Sat, 1 Oct 2005 21:56:34 +0000 (22:56 +0100)]
[ARM] 2944/1: GCC 4 mx1ads serial driver compile fix
Patch from Vincent Sanders
When building the mx1ads ARM platforms the serial driver fails to compile
with GCC 4.01 due to extern/static ambiguity.
Signed-off-by: Vincent Sanders <vince@arm.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Sat, 1 Oct 2005 18:04:18 +0000 (11:04 -0700)]
Fix inequality comparison against "task->state"
We should always use bitmask ops, rather than depend on some ordering of
the different states. With the TASK_NONINTERACTIVE flag, the inequality
doesn't really work.
Oleg Nesterov argues (likely correctly) that this test is unnecessary in
the first place. However, the minimal fix for now is to at least make
it work in the presense of TASK_NONINTERACTIVE. Waiting for consensus
from Roland & co on potential bigger cleanups.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diego Calleja [Sat, 1 Oct 2005 15:00:48 +0000 (17:00 +0200)]
[PATCH] trivial #if -> #ifdef
Use '#ifdef' consistently on __KERNEL__. This was reported as bug #5340
(isn't easier to send a fix than report the bug?!)
Signed-off-by: Diego Calleja <diegocg@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ananth N Mavinakayanahalli [Sat, 1 Oct 2005 17:14:17 +0000 (13:14 -0400)]
[PATCH] ppc64: fix up()/down() usage for kprobe_mutex
The incorrect kprobe_mutex usage on x86_64 had percolated to ppc64 too.
First noticed by Yanmin Zhang.
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Deepak Saxena [Fri, 30 Sep 2005 23:20:22 +0000 (16:20 -0700)]
[PATCH] ARM: Fix IXP2000 serial port resource range. For real this time.
Serial port only needs 32 bytes of resource space but we are currently
asking for 64K.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
[ diff went missing first time due to corrupted patch ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This page took 0.046895 seconds and 5 git commands to generate.