<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers, branch v2.6.26.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers?h=v2.6.26.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers?h=v2.6.26.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-09-08T11:44:32Z</updated>
<entry>
<title>sata_mv: don't issue two DMA commands concurrently</title>
<updated>2008-09-08T11:44:32Z</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2008-08-13T11:24:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a52f94cf0b2a82420921257f97674756adb9c760'/>
<id>urn:sha1:a52f94cf0b2a82420921257f97674756adb9c760</id>
<content type='text'>
commit 4bdee6c5103696a2729d3db2f235d202191788e4 upstream

sata_mv allowed issuing two DMA commands concurrently which the
hardware allows.  Unfortunately, libata core layer isn't ready for
this yet and spews ugly warning message and malfunctions on this.
Don't allow concurrent DMA commands for now.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Cc: Martin Michlmayr &lt;tbm@cyrius.com&gt;
Cc: Mark Lord &lt;liml@rtr.ca&gt;
Cc: Artem Bokhan &lt;aptem@ngs.ru&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>r8169: balance pci_map / pci_unmap pair</title>
<updated>2008-09-08T11:44:30Z</updated>
<author>
<name>Francois Romieu</name>
<email>romieu@fr.zoreil.com</email>
</author>
<published>2008-08-28T20:55:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b815a62f9cc72aeda7c49187451bcfbb7800c067'/>
<id>urn:sha1:b815a62f9cc72aeda7c49187451bcfbb7800c067</id>
<content type='text'>
commit a866bbf6aacf95f849810079442a20be118ce905 upstream

The leak hurts with swiotlb and jumbo frames.

Fix http://bugzilla.kernel.org/show_bug.cgi?id=9468.

Heavily hinted by Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;.

Signed-off-by: Francois Romieu &lt;romieu@fr.zoreil.com&gt;
Tested-by: Alistair John Strachan &lt;alistair@devzero.co.uk&gt;
Tested-by: Timothy J Fontaine &lt;tjfontaine@atxconsulting.com&gt;
Cc: Edward Hsu &lt;edward_hsu@realtek.com.tw&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tg3: Fix firmware event timeouts</title>
<updated>2008-09-08T11:44:30Z</updated>
<author>
<name>Matt Carlson</name>
<email>mcarlson@broadcom.com</email>
</author>
<published>2008-08-15T21:10:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a5096008726d745ff5b85bc9cc9b7e14c83d9be7'/>
<id>urn:sha1:a5096008726d745ff5b85bc9cc9b7e14c83d9be7</id>
<content type='text'>
patch 4ba526ced990f4d61ee8d65fe8a6f0745e8e455c upstream

The git commit 7c5026aa9b81dd45df8d3f4e0be73e485976a8b6 ("tg3: Add
link state reporting to UMP firmware") introduced code that waits for
previous firmware events to be serviced before attempting to submit a
new event.  Unfortunately that patch contained a bug that cause the
driver to wait 2.5 seconds, rather than 2.5 milliseconds as intended.
This patch fixes that bug.

This bug revealed that not all firmware versions service driver events
though.  Since we do not know which versions of the firmware do and don't
service these events, the driver needs some way to minimize the effects
of the delay.  This patch solves the problem by recording a jiffies
timestamp when it submits an event to the hardware.  If the jiffies
counter shows that 2.5 milliseconds have already passed, a wait is not
needed and the driver can proceed to submit a new event.

Signed-off-by: Matt Carlson &lt;mcarlson@broadcom.com&gt;
Signed-off-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>8250: improve workaround for UARTs that don't re-assert THRE correctly</title>
<updated>2008-09-08T11:44:20Z</updated>
<author>
<name>Will Newton</name>
<email>will.newton@gmail.com</email>
</author>
<published>2008-09-03T02:35:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=da924e49a005cdb4bac9a958f3edff958b770069'/>
<id>urn:sha1:da924e49a005cdb4bac9a958f3edff958b770069</id>
<content type='text'>
commit 363f66fe06c75270b669c88e321e6b354ba0201e upstream

Recent changes to tighten the check for UARTs that don't correctly
re-assert THRE (01c194d9278efc15d4785ff205643e9c0bdcef53: "serial 8250:
tighten test for using backup timer") caused problems when such a UART was
opened for the second time - the bug could only successfully be detected
at first initialization.  For users of this version of this particular
UART IP it is fatal.

This patch stores the information about the bug in the bugs field of the
port structure when the port is first started up so subsequent opens can
check this bit even if the test for the bug fails.

David Brownell: "My own exposure to this is that the UART on DaVinci
hardware, which TI allegedly derived from its original 16550 logic, has
periodically gone from working to unusable with the mainline 8250.c ...
and back and forth a bunch.  Currently it's "unusable", a regression from
some previous versions.  With this patch from Will, it's usable."

Signed-off-by: Will Newton &lt;will.newton@gmail.com&gt;
Acked-by: Alex Williamson &lt;alex.williamson@hp.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>rtc_time_to_tm: fix signed/unsigned arithmetic</title>
<updated>2008-09-08T11:44:20Z</updated>
<author>
<name>Jan Altenberg</name>
<email>jan.altenberg@linutronix.de</email>
</author>
<published>2008-09-03T02:35:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cd9295c8b95d690c47f5f0000e3128960de8cd8b'/>
<id>urn:sha1:cd9295c8b95d690c47f5f0000e3128960de8cd8b</id>
<content type='text'>
commit 73442daf2ea85e2a779396b76b1a39b10188ecb5 upstream

commit 945185a69daa457c4c5e46e47f4afad7dcea734f ("rtc: rtc_time_to_tm: use
unsigned arithmetic") changed the some types in rtc_time_to_tm() to
unsigned:

 void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
 {
-       register int days, month, year;
+       unsigned int days, month, year;

This doesn't work for all cases, because days is checked for &lt; 0 later
on:

if (days &lt; 0) {
	year -= 1;
	days += 365 + LEAP_YEAR(year);
}

I think the correct fix would be to keep days signed and do an appropriate
cast later on.

Signed-off-by: Jan Altenberg &lt;jan.altenberg@linutronix.de&gt;
Cc: Maciej W. Rozycki &lt;macro@linux-mips.org&gt;
Cc: Alessandro Zummo &lt;a.zummo@towertech.it&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Cc: Dmitri Vorobiev &lt;dmitri.vorobiev@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>drivers/char/random.c: fix a race which can lead to a bogus BUG()</title>
<updated>2008-09-08T11:44:20Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@linux-foundation.org</email>
</author>
<published>2008-09-03T02:35:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b6cdf4eeaf022b84c7d41cc8c1e20c2a0be7100d'/>
<id>urn:sha1:b6cdf4eeaf022b84c7d41cc8c1e20c2a0be7100d</id>
<content type='text'>
commit 8b76f46a2db29407fed66cf4aca19d61b3dcb3e1 upstream

Fix a bug reported by and diagnosed by Aaron Straus.

This is a regression intruduced into 2.6.26 by

    commit adc782dae6c4c0f6fb679a48a544cfbcd79ae3dc
    Author: Matt Mackall &lt;mpm@selenic.com&gt;
    Date:   Tue Apr 29 01:03:07 2008 -0700

        random: simplify and rename credit_entropy_store

credit_entropy_bits() does:

	spin_lock_irqsave(&amp;r-&gt;lock, flags);
	...
	if (r-&gt;entropy_count &gt; r-&gt;poolinfo-&gt;POOLBITS)
		r-&gt;entropy_count = r-&gt;poolinfo-&gt;POOLBITS;

so there is a time window in which this BUG_ON():

static size_t account(struct entropy_store *r, size_t nbytes, int min,
		      int reserved)
{
	unsigned long flags;

	BUG_ON(r-&gt;entropy_count &gt; r-&gt;poolinfo-&gt;POOLBITS);

	/* Hold lock while accounting */
	spin_lock_irqsave(&amp;r-&gt;lock, flags);

can trigger.

We could fix this by moving the assertion inside the lock, but it seems
safer and saner to revert to the old behaviour wherein
entropy_store.entropy_count at no time exceeds
entropy_store.poolinfo-&gt;POOLBITS.

Reported-by: Aaron Straus &lt;aaron@merfinllc.com&gt;
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Cc: Theodore Ts'o &lt;tytso@mit.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>atl1: disable TSO by default</title>
<updated>2008-09-08T11:44:19Z</updated>
<author>
<name>Jay Cliburn</name>
<email>jacliburn@bellsouth.net</email>
</author>
<published>2008-08-28T19:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=89b4ddf3d058613b3377e5f56f99d3e20dc95017'/>
<id>urn:sha1:89b4ddf3d058613b3377e5f56f99d3e20dc95017</id>
<content type='text'>
commit 82c26a9d117f0178b8c1b33429014b6d99c470f6 upstream

The atl1 driver is causing stalled connections and file corruption
whenever TSO is enabled.  Two examples are here:

http://lkml.org/lkml/2008/7/15/325
http://lkml.org/lkml/2008/8/18/543

Disable TSO by default until we can determine the source of the
problem.

Signed-off-by: Jay Cliburn &lt;jacliburn@bellsouth.net&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>forcedeth: fix checksum flag</title>
<updated>2008-09-08T11:44:19Z</updated>
<author>
<name>Ayaz Abdulla</name>
<email>aabdulla@nvidia.com</email>
</author>
<published>2008-08-28T19:40:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d584a416f04eb2916d3b3dbd88a05d5210276e55'/>
<id>urn:sha1:d584a416f04eb2916d3b3dbd88a05d5210276e55</id>
<content type='text'>
commit edcfe5f7e307846e578fb88d69fa27051fded0ab upstream

Fix the checksum feature advertised in device flags.  The hardware support
TCP/UDP over IPv4 and TCP/UDP over IPv6 (without IPv6 extension headers).
However, the kernel feature flags do not distinguish IPv6 with/without
extension headers.

Therefore, the driver needs to use NETIF_F_IP_CSUM instead of
NETIF_F_HW_CSUM since the latter includes all IPv6 packets.

A future patch can be created to check for extension headers and perform
software checksum calculation.

Signed-off-by: Ayaz Abdulla &lt;aabdulla@nvidia.com&gt;
Cc: Jeff Garzik &lt;jgarzik@pobox.com&gt;
Cc: Manfred Spraul &lt;manfred@colorfullife.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>S390 dasd: fix data size for PSF/PRSSD command</title>
<updated>2008-09-08T11:44:18Z</updated>
<author>
<name>Stefan Weinhuber</name>
<email>wein@de.ibm.com</email>
</author>
<published>2008-08-22T17:40:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a87a91ca57d61754926b25f06b0b36dcfbee6ae4'/>
<id>urn:sha1:a87a91ca57d61754926b25f06b0b36dcfbee6ae4</id>
<content type='text'>
commit 49fd38bdaa96f093fcad3176a781a4d0de8f8602 upstream

The Perform Subsystem Function/Prepare for Read Subsystem Data
command requires 12 bytes of parameter data, but the respective data
structure dasd_psf_prssd_data has a length of 16 bytes.
Current storage servers ignore the obsolete bytes, but older models
fail to execute the command and report an incorrect length error.
This causes the device initilization for these devices to fail.
To fix this problem we need to correct the dasd_psf_prssd_data
structure and shorten it to the correct length.

Reported-by: Ivan Warren &lt;ivan@vmfacility.fr&gt;
Reviewed-by: Ivan Warren &lt;ivan@vmfacility.fr&gt;
Tested-by: Ivan Warren &lt;ivan@vmfacility.fr&gt;
Signed-off-by: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: cdc-acm: don't unlock acm-&gt;mutex on error path</title>
<updated>2008-09-08T11:44:17Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2008-08-22T17:40:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=13f3b97af2f88fab1e36adbc6372b184315fdda3'/>
<id>urn:sha1:13f3b97af2f88fab1e36adbc6372b184315fdda3</id>
<content type='text'>
commit 74573ee7096a4ffc2f098108d21c85801b9c7434 upstream

On Wed, Jul 23, 2008 at 03:52:36PM +0300, Andrei Popa wrote:
&gt; I installed gnokii-0.6.22-r2 and gave the command "gnokii --identify"
&gt; and the kernel oopsed:
&gt;
&gt; BUG: unable to handle kernel NULL pointer dereference at 00000458
&gt; IP: [&lt;c0444b52&gt;] mutex_unlock+0x0/0xb
&gt;  [&lt;c03830ae&gt;] acm_tty_open+0x4c/0x214

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Tested-by: Andrei Popa &lt;andrei.popa@i-neo.ro&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
