<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers, branch v2.6.25.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers?h=v2.6.25.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers?h=v2.6.25.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-06-24T21:08:31Z</updated>
<entry>
<title>hwmon: (adt7473) Initialize max_duty_at_overheat before use</title>
<updated>2008-06-24T21:08:31Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2008-06-23T08:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=31a26cd34a33c8137ebbf254e4e35536c45ae9b5'/>
<id>urn:sha1:31a26cd34a33c8137ebbf254e4e35536c45ae9b5</id>
<content type='text'>
commit ed4ec814e45ae8b1596aea0a29b92f6c3614acaa upstream

data-&gt;max_duty_at_overheat is not updated in adt7473_update_device,
so it might be used before it is initialized (if the user reads from
sysfs file max_duty_at_crit before writing to it.)

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Acked-by: Darrick J. Wong &lt;djwong@us.ibm.com&gt;
Signed-off-by: Mark M. Hoffman &lt;mhoffman@lightlink.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>hwmon: (lm85) Fix function RANGE_TO_REG()</title>
<updated>2008-06-24T21:08:30Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2008-06-23T08:14:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=73377b7ebafbb69016a6cf4342b65c560a85342e'/>
<id>urn:sha1:73377b7ebafbb69016a6cf4342b65c560a85342e</id>
<content type='text'>
Function RANGE_TO_REG() is broken. For a requested range of 2000 (2
degrees C), it will return an index value of 15, i.e. 80.0 degrees C,
instead of the expected index value of 0. All other values are handled
properly, just 2000 isn't.

The bug was introduced back in November 2004 by this patch:
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=1c28d80f1992240373099d863e4996cdd5d646d0

In Linus' kernel I decided to rewrite the whole function in a way
which was more obviously correct. But for -stable let's just do the
minimal fix.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>watchdog: hpwdt: fix use of inline assembly</title>
<updated>2008-06-24T21:08:30Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-06-20T19:19:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e5e3a8f78823da1e66b75f7bcc28626589fb650c'/>
<id>urn:sha1:e5e3a8f78823da1e66b75f7bcc28626589fb650c</id>
<content type='text'>
commit 1f6ef2342972dc7fd623f360f84006e2304eb935 upstream

The inline assembly in drivers/watchdog/hpwdt.c was incredibly broken,
and included all the function prologue and epilogue stuff, even though
it was itself then inside a C function where the compiler would add its
own prologue and epilogue on top of it all.

This then just _happened_ to work if you had exactly the right compiler
version and exactly the right compiler flags, so that gcc just happened
to not create any prologue at all (the gcc-generated epilogue wouldn't
matter, since it would never be reached).

But the more proper way to fix it is to simply not do this.  Move the
inline asm to the top level, with no surrounding function at all (the
better alternative would be to remove the prologue and make it actually
use proper description of the arguments to the inline asm, but that's a
bigger change than the one I'm willing to make right now).

Tested-by: S.Çağlar Onur &lt;caglar@pardus.org.tr&gt;
Acked-by: Thomas Mingarelli &lt;Thomas.Mingarelli@hp.com&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: relax eeprom mac address error check</title>
<updated>2008-06-24T21:08:28Z</updated>
<author>
<name>Radu Cristescu</name>
<email>advantis@gmx.net</email>
</author>
<published>2008-06-20T01:27:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e77edd8f4b9ab4ef6ee4ba3fdc6cf50a972cce1'/>
<id>urn:sha1:2e77edd8f4b9ab4ef6ee4ba3fdc6cf50a972cce1</id>
<content type='text'>
upstream commit: 58c7821c4264a7ddd6f0c31c5caaf393b3897f10

The atl1 driver tries to determine the MAC address thusly:

	- If an EEPROM exists, read the MAC address from EEPROM and
	  validate it.
	- If an EEPROM doesn't exist, try to read a MAC address from
	  SPI flash.
	- If that fails, try to read a MAC address directly from the
	  MAC Station Address register.
	- If that fails, assign a random MAC address provided by the
	  kernel.

We now have a report of a system fitted with an EEPROM containing all
zeros where we expect the MAC address to be, and we currently handle
this as an error condition.  Turns out, on this system the BIOS writes
a valid MAC address to the NIC's MAC Station Address register, but we
never try to read it because we return an error when we find the all-
zeros address in EEPROM.

This patch relaxes the error check and continues looking for a MAC
address even if it finds an illegal one in EEPROM.

http://ubuntuforums.org/showthread.php?t=562617

[jacliburn@bellsouth.net: backport to 2.6.25.7]

Signed-off-by: Radu Cristescu &lt;advantis@gmx.net&gt;
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>SCSI: sr: fix corrupt CD data after media change and delay</title>
<updated>2008-06-22T05:24:56Z</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@HansenPartnership.com</email>
</author>
<published>2008-06-18T23:15:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c4330cd3988243eecf7dac3b495553beffc08c72'/>
<id>urn:sha1:c4330cd3988243eecf7dac3b495553beffc08c72</id>
<content type='text'>
commit: d1daeabf0da5bfa1943272ce508e2ba785730bf0 upstream

Reported-by: Geert Uytterhoeven &lt;Geert.Uytterhoeven@sonycom.com&gt;

If you delay 30s or more before mounting a CD after inserting it then
the kernel has the wrong value for the CD size.

http://marc.info/?t=121276133000001

The problem is in sr_test_unit_ready(): the function eats unit
attentions without adjusting the sdev-&gt;changed status.  This means
that when the CD signals changed media via unit attention, we can
ignore it.  Fix by making sr_test_unit_ready() adjust the changed
status.

Reported-by: Geert Uytterhoeven &lt;Geert.Uytterhoeven@sonycom.com&gt;
Tested-by: Geert Uytterhoeven &lt;Geert.Uytterhoeven@sonycom.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ACPICA: Ignore ACPI table signature for Load() operator</title>
<updated>2008-06-22T05:24:55Z</updated>
<author>
<name>Bob Moore</name>
<email>robert.moore@intel.com</email>
</author>
<published>2008-06-19T02:11:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=74df319e678985491d0626e590093789d38daca4'/>
<id>urn:sha1:74df319e678985491d0626e590093789d38daca4</id>
<content type='text'>
upstream bc45b1d39a925b56796bebf8a397a0491489d85c

Without this patch booting with acpi_osi="!Windows 2006" is required
for several machines to function properly with cpufreq
due to failure to load a Vista specific table with a bad signature.

Only "SSDT" is acceptable to the ACPI spec, but tables are
seen with OEMx and null sigs. Therefore, signature validation
is worthless.  Apparently MS ACPI accepts such signatures, ACPICA
must be compatible.

http://bugzilla.kernel.org/show_bug.cgi?id=9919
http://bugzilla.kernel.org/show_bug.cgi?id=10383
http://bugzilla.kernel.org/show_bug.cgi?id=10454
https://bugzilla.novell.com/show_bug.cgi?id=396311

Signed-off-by: Bob Moore &lt;robert.moore@intel.com&gt;
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>scsi_host regression: fix scsi host leak</title>
<updated>2008-06-22T05:24:55Z</updated>
<author>
<name>Mike Christie</name>
<email>michaelc@cs.wisc.edu</email>
</author>
<published>2008-06-18T23:31:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1c50ef042d1310dba9d3d9429f4b67b98ae53e8e'/>
<id>urn:sha1:1c50ef042d1310dba9d3d9429f4b67b98ae53e8e</id>
<content type='text'>
The patch is upstream as commit 3ed7897242b7efe977f3a8d06d4e5a4ebe28b10e

A different backport is necessary because of the class_device to device
conversion post 2.6.25.


commit 9c7701088a61cc0cf8a6e1c68d1e74e3cc2ee0b7
Author: Dave Young &lt;hidave.darkstar@gmail.com&gt;
Date:   Tue Jan 22 14:01:34 2008 +0800

    scsi: use class iteration api

Isn't a correct replacement for the original hand rolled host
lookup. The problem is that class_find_child would get a reference to
the host's class device which is never released.  Since the host class
device holds a reference to the host gendev, the host can never be
freed.

In 2.6.25 we started using class_find_device, and this function also
gets a reference to the device, so we end up with an extra ref
and the host will not get released.

This patch adds a class_put_device to balance the class_find_device()
get. I kept the scsi_host_get in scsi_host_lookup, because the target
layer is using scsi_host_lookup and it looks like it needs the SHOST_DEL
check.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>b43: Fix possible NULL pointer dereference in DMA code</title>
<updated>2008-06-22T05:24:55Z</updated>
<author>
<name>Michael Buesch</name>
<email>mb@bu3sch.de</email>
</author>
<published>2008-06-14T20:57:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=38d10b5fd8eb81e10b9572359c90e627432217d1'/>
<id>urn:sha1:38d10b5fd8eb81e10b9572359c90e627432217d1</id>
<content type='text'>
a cut-down version of commit 028118a5f09a9c807e6b43e2231efdff9f224c74 upstream

This fixes a possible NULL pointer dereference in an error path of the
DMA allocation error checking code. In case the DMA allocation address is invalid,
the dev pointer is dereferenced for unmapping of the buffer.

Reported-by: Miles Lane &lt;miles.lane@gmail.com&gt;
Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>b43: Fix noise calculation WARN_ON</title>
<updated>2008-06-22T05:24:55Z</updated>
<author>
<name>Michael Buesch</name>
<email>mb@bu3sch.de</email>
</author>
<published>2008-06-14T21:00:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f9cb92ec51b8700247c3aa560b31ba9885a33e73'/>
<id>urn:sha1:f9cb92ec51b8700247c3aa560b31ba9885a33e73</id>
<content type='text'>
commit 98a3b2fe435ae76170936c14f5c9e6a87548e3ef upstream.

This removes a WARN_ON that is responsible for the following koops:
http://www.kerneloops.org/searchweek.php?search=b43_generate_noise_sample

The comment in the patch describes why it's safe to simply remove
the check.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>virtio_net: Fix skb-&gt;csum_start computation</title>
<updated>2008-06-22T05:24:54Z</updated>
<author>
<name>Mark McLoughlin</name>
<email>markmc@redhat.com</email>
</author>
<published>2008-06-16T04:41:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=226028e4f78348aa948b1422bda1ede029228d2e'/>
<id>urn:sha1:226028e4f78348aa948b1422bda1ede029228d2e</id>
<content type='text'>
commit 23cde76d801246a702e7a84c3fe3d655b35c89a1 upstream.

hdr-&gt;csum_start is the offset from the start of the ethernet
header to the transport layer checksum field. skb-&gt;csum_start
is the offset from skb-&gt;head.

skb_partial_csum_set() assumes that skb-&gt;data points to the
ethernet header - i.e. it computes skb-&gt;csum_start by adding
the headroom to hdr-&gt;csum_start.

Since eth_type_trans() skb_pull()s the ethernet header,
skb_partial_csum_set() should be called before
eth_type_trans().

(Without this patch, GSO packets from a guest to the world outside the
host are corrupted).

Signed-off-by: Mark McLoughlin &lt;markmc@redhat.com&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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