GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
18 years ago[Bluetooth] Add missing entry for Nokia DTL-4 PCMCIA card
Marcel Holtmann [Fri, 20 Oct 2006 06:55:34 +0000 (08:55 +0200)]
[Bluetooth] Add missing entry for Nokia DTL-4 PCMCIA card

The device id for the Nokia DTL-4 PCMCIA card was missing. This patch
adds it back to the list of supported devices.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
18 years ago[Bluetooth] Add support for newer ANYCOM USB dongles
Marcel Holtmann [Fri, 20 Oct 2006 06:55:29 +0000 (08:55 +0200)]
[Bluetooth] Add support for newer ANYCOM USB dongles

This patch adds the vendor and product id of the ANYCOM Bluetooth
USB-200 and USB-250 dongles and sets a flag to send HCI_Reset as
the first command.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org
18 years ago[NET]: Can use __get_cpu_var() instead of per_cpu() in loopback driver.
Eric Dumazet [Fri, 20 Oct 2006 07:32:41 +0000 (00:32 -0700)]
[NET]: Can use __get_cpu_var() instead of per_cpu() in loopback driver.

As BHs are off in loopback_xmit(), preemption cannot occurs, so we can
use __get_cpu_var() instead of per_cpu() (and avoid a
preempt_enable()/preempt_disable() pair)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV4] inet_peer: Group together avl_left, avl_right, v4daddr to speedup lookups...
Eric Dumazet [Fri, 20 Oct 2006 07:28:35 +0000 (00:28 -0700)]
[IPV4] inet_peer: Group together avl_left, avl_right, v4daddr to speedup lookups on some CPUS

Lot of routers/embedded devices still use CPUS with 16/32 bytes cache
lines.  (486, Pentium, ...  PIII) It makes sense to group together
fields used at lookup time so they fit in one cache line.  This reduce
cache footprint and speedup lookups.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in tcp_v4_err()
Eric Dumazet [Fri, 20 Oct 2006 07:22:25 +0000 (00:22 -0700)]
[TCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in tcp_v4_err()

I believe this NET_INC_STATS() call can be replaced by
NET_INC_STATS_BH(), a little bit cheaper.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Missing check for CAP_NET_ADMIN in iptables compat layer
Björn Steinbrink [Fri, 20 Oct 2006 07:21:10 +0000 (00:21 -0700)]
[NETFILTER]: Missing check for CAP_NET_ADMIN in iptables compat layer

The 32bit compatibility layer has no CAP_NET_ADMIN check in
compat_do_ipt_get_ctl, which for example allows to list the current
iptables rules even without having that capability (the non-compat
version requires it). Other capabilities might be required to exploit
the bug (eg. CAP_NET_RAW to get the nfnetlink socket?), so a plain user
can't exploit it, but a setup actually using the posix capability system
might very well hit such a constellation of granted capabilities.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETPOLL]: initialize skb for UDP
Stephen Hemminger [Fri, 20 Oct 2006 06:58:23 +0000 (23:58 -0700)]
[NETPOLL]: initialize skb for UDP

Need to fully initialize skb to keep lower layers and queueing happy.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Fix route.c warnings when multiple tables are disabled.
David S. Miller [Thu, 19 Oct 2006 04:20:57 +0000 (21:20 -0700)]
[IPV6]: Fix route.c warnings when multiple tables are disabled.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TG3]: Bump driver version and release date.
David S. Miller [Thu, 19 Oct 2006 03:56:06 +0000 (20:56 -0700)]
[TG3]: Bump driver version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TG3]: Add lower bound checks for tx ring size.
Michael Chan [Thu, 19 Oct 2006 03:55:18 +0000 (20:55 -0700)]
[TG3]: Add lower bound checks for tx ring size.

The minimum tx ring size must be greater than MAX_SKB_FRAGS or 3
times that on some chips with TSO bugs.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TG3]: Fix set ring params tx ring size implementation
Ranjit Manomohan [Thu, 19 Oct 2006 03:54:26 +0000 (20:54 -0700)]
[TG3]: Fix set ring params tx ring size implementation

Fixes the implementation of the ethtool set ring parameters for the
tg3 transmit ring.  The size of tx_pending is taken into account
before doing a netif_wake_queue.  This prevents the interface from
locking up when smaller transmit ring sizes are used.

Signed-off-by: Ranjit Manomohan <ranjitm@google.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: reduce per cpu ram used for loopback stats
Eric Dumazet [Thu, 19 Oct 2006 03:51:57 +0000 (20:51 -0700)]
[NET]: reduce per cpu ram used for loopback stats

We dont need a full struct net_device_stats (currently 23 long : 184 bytes on
x86_64) per possible CPU, but only two counters : bytes and packets

We save few CPU cycles too in loopback_xmit() not updating 4 fields, but 2.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPv6] route: Fix prohibit and blackhole routing decision
Thomas Graf [Thu, 19 Oct 2006 03:46:54 +0000 (20:46 -0700)]
[IPv6] route: Fix prohibit and blackhole routing decision

Lookups resolving to ip6_blk_hole_entry must result in silently
discarding the packets whereas an ip6_pkt_prohibit_entry is
supposed to cause an ICMPV6_ADM_PROHIBITED message to be sent.

Thanks to Kim Nordlund <kim.nordlund@nokia.com> for noticing
this bug.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DECNET]: Fix input routing bug
Steven Whitehouse [Thu, 19 Oct 2006 03:45:22 +0000 (20:45 -0700)]
[DECNET]: Fix input routing bug

This patch fixes a silly bug that has been in the input routing code
for some time. It results in trying to send to a node directly when
the origin of the packet is via the default router.

Its been tested by Alan Kemmerer <alan.kemmerer@mittalsteel.com> who
reported the bug and its a fairly obvious fix for a typo.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: Patrick Caulfield <patrick@tykepenguin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: Bound TSO defer time
John Heffner [Thu, 19 Oct 2006 03:36:48 +0000 (20:36 -0700)]
[TCP]: Bound TSO defer time

This patch limits the amount of time you will defer sending a TSO segment
to less than two clock ticks, or the time between two acks, whichever is
longer.

On slow links, deferring causes significant bursts.  See attached plots,
which show RTT through a 1 Mbps link with a 100 ms RTT and ~100 ms queue
for (a) non-TSO, (b) currnet TSO, and (c) patched TSO.  This burstiness
causes significant jitter, tends to overflow queues early (bad for short
queues), and makes delay-based congestion control more difficult.

Deferring by a couple clock ticks I believe will have a relatively small
impact on performance.

Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPv4] fib: Remove unused fib_config members
Thomas Graf [Thu, 19 Oct 2006 03:26:36 +0000 (20:26 -0700)]
[IPv4] fib: Remove unused fib_config members

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Always copy rt->u.dst.error when copying a rt6_info.
Ville Nuorvala [Tue, 17 Oct 2006 05:14:26 +0000 (22:14 -0700)]
[IPV6]: Always copy rt->u.dst.error when copying a rt6_info.

Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Make IPV6_SUBTREES depend on IPV6_MULTIPLE_TABLES.
Ville Nuorvala [Tue, 17 Oct 2006 05:12:21 +0000 (22:12 -0700)]
[IPV6]: Make IPV6_SUBTREES depend on IPV6_MULTIPLE_TABLES.

As IPV6_SUBTREES can't work without IPV6_MULTIPLE_TABLES have IPV6_SUBTREES
depend on it.

Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Clean up BACKTRACK().
Ville Nuorvala [Tue, 17 Oct 2006 05:11:11 +0000 (22:11 -0700)]
[IPV6]: Clean up BACKTRACK().

The fn check is unnecessary as fn can never be NULL in BACKTRACK().

Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Make sure error handling is done when calling ip6_route_output().
Ville Nuorvala [Tue, 17 Oct 2006 05:10:05 +0000 (22:10 -0700)]
[IPV6]: Make sure error handling is done when calling ip6_route_output().

As ip6_route_output() never returns NULL, error checking must be done by
looking at dst->error in stead of comparing dst against NULL.

Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SCTP]: Fix minor typo
Ville Nuorvala [Tue, 17 Oct 2006 05:08:28 +0000 (22:08 -0700)]
[SCTP]: Fix minor typo

Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Remove struct pol_chain.
Ville Nuorvala [Tue, 17 Oct 2006 05:05:55 +0000 (22:05 -0700)]
[IPV6]: Remove struct pol_chain.

Struct pol_chain has existed since at least the 2.2 kernel, but isn't used
anymore. As the IPv6 policy routing is implemented in a totally different
way in the current kernel, just get rid of it.

Signed-off-by: Ville Nuorvala <vnuorval@tcs.hut.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Updated TIPC version number to 1.6.2
Allan Stephens [Tue, 17 Oct 2006 05:01:32 +0000 (22:01 -0700)]
[TIPC]: Updated TIPC version number to 1.6.2

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Unrecognized configuration command now returns error message
Allan Stephens [Tue, 17 Oct 2006 05:00:56 +0000 (22:00 -0700)]
[TIPC]: Unrecognized configuration command now returns error message

This patch causes TIPC to return an error message when it receives
an unrecognized configuration command.  (Previously, the sender
received no feedback.)

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Added subscription cancellation capability
Lijun Chen [Tue, 17 Oct 2006 04:59:42 +0000 (21:59 -0700)]
[TIPC]: Added subscription cancellation capability

This patch allows a TIPC application to cancel an existing
topology service subscription by re-requesting the subscription
with the TIPC_SUB_CANCEL filter bit set.  (All other bits of
the cancel request must match the original subscription request.)

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Can now list multicast link on an isolated network node
Allan Stephens [Tue, 17 Oct 2006 04:57:56 +0000 (21:57 -0700)]
[TIPC]: Can now list multicast link on an isolated network node

This patch fixes a minor bug that prevents "tipc-config -l" from
displaying the multicast link if a TIPC node has never successfully
established at least one unicast link.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Fixed slow link reactivation when link tolerance is large
Allan Stephens [Tue, 17 Oct 2006 04:57:13 +0000 (21:57 -0700)]
[TIPC]: Fixed slow link reactivation when link tolerance is large

This patch corrects an issue wherein a previouly failed node could
not reestablish a links to a non-failing node in the TIPC network
until the latter node detected the link failure itself (which might
be configured to take up to 30 seconds).  The non-failing node now
responds to link setup requests from a previously failed node in at
most 1 second, allowing it to detect the link failure more quickly.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Name publication events now delivered in chronological order
Allan Stephens [Tue, 17 Oct 2006 04:56:04 +0000 (21:56 -0700)]
[TIPC]: Name publication events now delivered in chronological order

This patch tivially re-orders the entries in TIPC's list of local
publications so that applications will receive publication events
in the order they were published.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Add support for Ethernet VLANs
Allan Stephens [Tue, 17 Oct 2006 04:50:20 +0000 (21:50 -0700)]
[TIPC]: Add support for Ethernet VLANs

This patch enhances TIPC's Ethernet support to include VLAN interfaces.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Remove code bloat introduced by print buffer rework
Allan Stephens [Tue, 17 Oct 2006 04:49:03 +0000 (21:49 -0700)]
[TIPC]: Remove code bloat introduced by print buffer rework

This patch allows the compiler to optimize out any code that tries to
send debugging output to the null print buffer (TIPC_NULL), a capability
that was unintentionally broken during the recent print buffer rework.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Optimize wakeup logic when socket has no waiting processes
Allan Stephens [Tue, 17 Oct 2006 04:47:18 +0000 (21:47 -0700)]
[TIPC]: Optimize wakeup logic when socket has no waiting processes

This patch adds a simple test so TIPC doesn't try waking up processes
waiting on a socket if there are none waiting.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Added duplicate node address detection capability
Allan Stephens [Tue, 17 Oct 2006 04:44:59 +0000 (21:44 -0700)]
[TIPC]: Added duplicate node address detection capability

TIPC now rejects and logs link setup requests from node <Z.C.N> if the
receiving node already has a functional link to that node on the associated
interface, or if the requestor is using the same <Z.C.N> as the receiver.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Stream socket can now send > 66000 bytes at a time
Allan Stephens [Tue, 17 Oct 2006 04:43:54 +0000 (21:43 -0700)]
[TIPC]: Stream socket can now send > 66000 bytes at a time

The stream socket send code was not initializing some required fields
of the temporary msghdr structure it was utilizing; this is now fixed.
A check has also been added to detect if a user illegally specifies
a destination address when sending on an established stream connection.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Debug print buffer enhancements and fixes
Allan Stephens [Tue, 17 Oct 2006 04:42:04 +0000 (21:42 -0700)]
[TIPC]: Debug print buffer enhancements and fixes

This change modifies TIPC's print buffer code as follows:
1) Now supports small print buffers (min. size reduced from 512 bytes to 64)
2) Now uses TIPC_NULL print buffer structure to indicate null device
   instead of NULL pointer (this simplified error handling)
3) Fixed misuse of console buffer structure by tipc_dump()
4) Added and corrected comments in various places

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TIPC]: Add missing unlock in port timeout code.
Allan Stephens [Tue, 17 Oct 2006 04:38:05 +0000 (21:38 -0700)]
[TIPC]: Add missing unlock in port timeout code.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Per Liden <per.liden@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoMerge branch 'ubuntu-updates' of master.kernel.org:/pub/scm/linux/kernel/git/bcollins...
Linus Torvalds [Thu, 19 Oct 2006 01:30:00 +0000 (18:30 -0700)]
Merge branch 'ubuntu-updates' of /linux/kernel/git/bcollins/ubuntu-2.6

* 'ubuntu-updates' of master.kernel.org:/pub/scm/linux/kernel/git/bcollins/ubuntu-2.6:
  [pci_ids] Add Quicknet XJ vendor/device ID's.
  [valkyriefb] Ifdef for when CONFIG_NVRAM isn't enabled.
  [platinumfb] Ifdef for when CONFIG_NVRAM isn't enabled.
  [igafb] Add pci dev table for module auto loading.
  [controlfb] Ifdef for when CONFIG_NVRAM isn't enabled.
  [hid-core] TurboX Keyboard needs NOGET quirk.
  [ixj] Add pci dev table for module auto loading.
  [initio] Add pci dev table for module auto loading.
  [fdomain] Add pci dev table for module auto loading.
  [BusLogic] Add pci dev table for auto module loading.
  [mv643xx] Add pci device table for auto module loading.
  [alim7101] Add pci dev table for auto module loading.

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/hwmon-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:52:27 +0000 (17:52 -0700)]
Merge git://git./linux/kernel/git/gregkh/hwmon-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/hwmon-2.6:
  hwmon: Fix debug messages in w83781d
  hwmon: Let w83781d and lm78 load again
  w83627ehf: Fix the detection of fan5
  k8temp: Documentation update
  smsc47m1: List the SMSC LPC47M112 as supported
  hwmon: Fix documentation typos
  adm9240: Update Grant Coady's email address
  w83791d: Fix unchecked return status

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:51:05 +0000 (17:51 -0700)]
Merge git://git./linux/kernel/git/gregkh/aoe-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/aoe-2.6:
  aoe: fix sysfs_create_file warnings
  aoe: revert printk macros
  aoe: update driver version
  aoe: remove sysfs comment
  aoe: use bio->bi_idx
  aoe: module parameter for device timeout
  aoe: zero copy write 2 of 2
  aoe: improve retransmission heuristics
  aoe: jumbo frame support 2 of 2
  aoe: clean up printks via macros
  aoe: jumbo frame support 1 of 2
  aoe: zero copy write 1 of 2
  aoe: remove unused NARGS enum
  aoe: update copyright date
  aoe: eliminate isbusy message

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:50:40 +0000 (17:50 -0700)]
Merge git://git./linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (22 commits)
  PCI Hotplug: move pci_hotplug.h to include/linux/
  change pci hotplug subsystem maintainer to Kristen
  PCI: optionally sort device lists breadth-first
  cpcihp_generic: prevent loading without "bridge" parameter
  pci: Additional search functions
  PCI: quirks: switch quirks code offender to use pci_get API
  PCI: Update MSI-HOWTO.txt according to pci_msi_supported()
  PCI: Improve pci_msi_supported() comments
  PCI hotplug: ioremap balanced with iounmap
  shpchp: remove unnecessary cmd_busy member from struct controller
  shpchp: fix command completion check
  pci: Stamp out pci_find_* usage in fakephp
  PCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error
  Fix DMA resource allocation in ACPIPnP
  PCI: Turn pci_fixup_video into generic for embedded VGA
  PCI: add ICH7/8 ACPI/GPIO io resource quirks
  PCI: pcie-check-and-return-bus_register-errors fix
  PCI: VIA IRQ quirk behaviour change
  pciehp: Remove unnecessary check in pciehp_ctrl.c
  pciehp - add missing locking
  ...

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:50:16 +0000 (17:50 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  driver core: kmalloc() failure check in driver_probe_device
  Driver core: bus: remove indentation level
  Driver core: Don't ignore error returns from probing
  Driver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()
  driver core fixes: sysfs_create_group() retval in topology.c
  driver core fixes: device_create_file() retval check in dmapool.c
  driver core fixes: device_add() cleanup on error
  driver core fixes: bus_add_device() cleanup on error
  driver core fixes: bus_add_attrs() retval check
  driver core fixes: sysfs_create_link() retval check in class.c
  sysfs: update obsolete comment in sysfs_update_file
  sysfs: remove duplicated dput in sysfs_update_file
  HOWTO: bug report addition
  Fix dev_printk() is now GPL-only
  Driver core: plug device probe memory leak
  Documentation: feature-removal-schedule typo

18 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:49:42 +0000 (17:49 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] update default configuration
  [S390] cio: update documentation.
  [S390] dasd: clean up timer.
  [S390] Fix pte type checking.
  [S390] monwriter find header logic.
  [S390] cio: sch_no -> schid.sch_no conversion.
  [S390] Wire up epoll_pwait syscall.
  [S390] cio: invalid device operational notification
  [S390] fix vmlinux link when CONFIG_SYSIPC=n

18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 19 Oct 2006 00:49:19 +0000 (17:49 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Count resched interrupts
  [IA64] remove unused acpi_kbd_controller_present, acpi_legacy_devices
  [IA64] update sn2_defconfig
  [IA64] reformat pal.S to fit in 80 columns, fix typos
  [IA64] remove unused PAL_CALL_IC_OFF
  [IA64] - Allow IPIs in timer loop
  [IA64] move ioremap/ioremap_nocache under __KERNEL__
  [IA64] perfmon fix for global IRQ fix

18 years agohwmon: Fix debug messages in w83781d
Jean Delvare [Fri, 13 Oct 2006 15:03:42 +0000 (17:03 +0200)]
hwmon: Fix debug messages in w83781d

Fix debug messages in w83781d at detection time. We can't use dev_dbg()
on an i2c client's device before calling i2c_attach_client() on that
client.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agohwmon: Let w83781d and lm78 load again
Jean Delvare [Fri, 13 Oct 2006 14:56:28 +0000 (16:56 +0200)]
hwmon: Let w83781d and lm78 load again

Let the w83781d and lm78 hardware monitoring drivers load even when
no chip was detected at the ISA address. There can still be supported
chips connected to an I2C bus or SMBus.

This fixes bug #7293.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agow83627ehf: Fix the detection of fan5
Rudolf Marek [Sun, 8 Oct 2006 20:02:09 +0000 (22:02 +0200)]
w83627ehf: Fix the detection of fan5

Fix the detection of fan5 and preserve the bit between the
register writes, because the bit is write only.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agok8temp: Documentation update
Rudolf Marek [Sun, 8 Oct 2006 20:01:26 +0000 (22:01 +0200)]
k8temp: Documentation update

Update the documentation for the k8temp driver.

Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agosmsc47m1: List the SMSC LPC47M112 as supported
Jean Delvare [Sun, 8 Oct 2006 20:00:44 +0000 (22:00 +0200)]
smsc47m1: List the SMSC LPC47M112 as supported

The SMSC LPC47M112 Super-I/O chip appears to be compatible with the
LPC47M10x and LPC47M13x as far as hardware monitoring is concerned.
The device ID is even the same, so it's really only a documentation
update.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agohwmon: Fix documentation typos
Jean Delvare [Sun, 8 Oct 2006 19:59:54 +0000 (21:59 +0200)]
hwmon: Fix documentation typos

Fix typos in hardware monitoring documentation.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoadm9240: Update Grant Coady's email address
Grant Coady [Sun, 8 Oct 2006 19:57:41 +0000 (21:57 +0200)]
adm9240: Update Grant Coady's email address

Replace a bouncing email that I cannot recover from Mr Google.

Signed-off-by: Grant Coady <gcoady.lk@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agow83791d: Fix unchecked return status
Jim Cromie [Sun, 8 Oct 2006 19:56:29 +0000 (21:56 +0200)]
w83791d: Fix unchecked return status

Replace all unchecked calls to device_create_file with a single group
declaration, and one call to sysfs_create_group, and check that one
return status. Also remove the files on device detach.

Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
Signed-off by: Charles Spirakis <bezaur@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: fix sysfs_create_file warnings
Greg Kroah-Hartman [Tue, 9 Apr 2002 19:14:34 +0000 (12:14 -0700)]
aoe: fix sysfs_create_file warnings

Moved the attributes into a group, making the compiler be quiet about
ignoring the return value of the file create calls.  This also also
fixed a bug when removing the files, which were not symlinks.

Cc: "Ed L. Cashin" <ecashin@coraid.com>
Cc: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: revert printk macros
Ed L. Cashin [Wed, 20 Sep 2006 18:36:51 +0000 (14:36 -0400)]
aoe: revert printk macros

This patch addresses the concern that the aoe driver should
not introduce unecessary conventions that must be learned by
the reader.  It reverts patch 6.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: update driver version
Ed L. Cashin [Wed, 20 Sep 2006 18:36:51 +0000 (14:36 -0400)]
aoe: update driver version

Update aoe driver version number to 32.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: remove sysfs comment
Ed L. Cashin [Wed, 20 Sep 2006 18:36:51 +0000 (14:36 -0400)]
aoe: remove sysfs comment

Remove unecessary comment.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: use bio->bi_idx
Ed L. Cashin [Wed, 20 Sep 2006 18:36:50 +0000 (14:36 -0400)]
aoe: use bio->bi_idx

Instead of starting with bio->bi_io_vec, use the offset in bio->bi_idx.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: module parameter for device timeout
Ed L. Cashin [Wed, 20 Sep 2006 18:36:50 +0000 (14:36 -0400)]
aoe: module parameter for device timeout

The aoe_deadsecs module parameter sets the number of seconds that
elapse before a nonresponsive AoE device is marked as dead.

This is runtime settable in sysfs or settable with a module load or
kernel boot parameter.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: zero copy write 2 of 2
Ed L. Cashin [Wed, 20 Sep 2006 18:36:49 +0000 (14:36 -0400)]
aoe: zero copy write 2 of 2

Avoid memory copy on writes.
(This patch follows patch 4.)

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: improve retransmission heuristics
Ed L. Cashin [Wed, 20 Sep 2006 18:36:49 +0000 (14:36 -0400)]
aoe: improve retransmission heuristics

Add a dynamic minimum timer for better retransmission behavior.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: jumbo frame support 2 of 2
Ed L. Cashin [Wed, 20 Sep 2006 18:36:49 +0000 (14:36 -0400)]
aoe: jumbo frame support 2 of 2

Add support for jumbo ethernet frames.
(This patch follows patch 5.)

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: clean up printks via macros
Ed L. Cashin [Wed, 20 Sep 2006 18:36:49 +0000 (14:36 -0400)]
aoe: clean up printks via macros

Use simple macros to clean up the printks.
(This patch is reverted by the 14th patch to follow.)

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: jumbo frame support 1 of 2
Ed L. Cashin [Wed, 20 Sep 2006 18:36:49 +0000 (14:36 -0400)]
aoe: jumbo frame support 1 of 2

Add support for jumbo ethernet frames.
(This patch depends on patch 7 to follow.)

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: zero copy write 1 of 2
Ed L. Cashin [Wed, 20 Sep 2006 18:36:49 +0000 (14:36 -0400)]
aoe: zero copy write 1 of 2

Avoid memory copy on writes.
(This patch depends on fixes in patch 9 to follow.)

Although skb->len should not be set when working with linear skbuffs,
the skb->tail pointer maintained by skb_put/skb_trim is not relevant
to what happens when the skb_fill_page_desc function is called.  This
issue was raised without comment in linux-kernel and netdev earlier
this month:

  http://thread.gmane.org/gmane.linux.kernel/446474/
  http://thread.gmane.org/gmane.linux.network/45444/

So until there is something analogous to skb_put that works for
zero-copy write skbuffs, we will do what the other callers of
skb_fill_page_desc are doing.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: remove unused NARGS enum
Ed L. Cashin [Wed, 20 Sep 2006 18:36:48 +0000 (14:36 -0400)]
aoe: remove unused NARGS enum

The NARGS enum is left over from older code versions.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: update copyright date
Ed L. Cashin [Wed, 20 Sep 2006 18:36:48 +0000 (14:36 -0400)]
aoe: update copyright date

Update the copyright year to 2006.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoaoe: eliminate isbusy message
Ed L. Cashin [Wed, 20 Sep 2006 18:34:41 +0000 (14:34 -0400)]
aoe: eliminate isbusy message

This message doesn't help users because the circumstance isn't problematic.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core: kmalloc() failure check in driver_probe_device
Akinobu Mita [Mon, 9 Oct 2006 09:04:30 +0000 (18:04 +0900)]
driver core: kmalloc() failure check in driver_probe_device

driver_probe_device() is missing kmalloc() failure check.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoDriver core: bus: remove indentation level
Jeff Garzik [Wed, 4 Oct 2006 11:48:03 +0000 (07:48 -0400)]
Driver core: bus: remove indentation level

Before potentially fixing up these functions, this cosmetic change
reduces the indentation level to make the code easier to read and
maintain.

No functional changes at all.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoDriver core: Don't ignore error returns from probing
Alan Stern [Thu, 5 Oct 2006 21:03:24 +0000 (17:03 -0400)]
Driver core: Don't ignore error returns from probing

This patch (as797) fixes device_add() in the driver core.  It needs to
pay attention when the driver for a new device reports an error.

At the same time, since bus_remove_device() undoes the effects of both
bus_add_device() and bus_attach_device(), it needs to check whether
the bus_attach_device step failed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoDriver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()
Jesper Juhl [Thu, 28 Sep 2006 21:56:01 +0000 (23:56 +0200)]
Driver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()

If kmalloc() fails to allocate space for 'old_symlink_name' in
drivers/base/core.c::device_rename(), then we'll leak 'old_class_name'.

Spotted by the Coverity checker.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core fixes: sysfs_create_group() retval in topology.c
Cornelia Huck [Fri, 22 Sep 2006 09:37:32 +0000 (11:37 +0200)]
driver core fixes: sysfs_create_group() retval in topology.c

Return the return value of sysfs_create_group() in topology_add_dev().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core fixes: device_create_file() retval check in dmapool.c
Cornelia Huck [Fri, 22 Sep 2006 09:37:27 +0000 (11:37 +0200)]
driver core fixes: device_create_file() retval check in dmapool.c

Check for device_create_file() return value in dma_pool_create().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core fixes: device_add() cleanup on error
Cornelia Huck [Fri, 22 Sep 2006 09:37:13 +0000 (11:37 +0200)]
driver core fixes: device_add() cleanup on error

Check for return code of device_create_file() and correct cleanup in
the error case in device_add().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core fixes: bus_add_device() cleanup on error
Cornelia Huck [Fri, 22 Sep 2006 09:37:08 +0000 (11:37 +0200)]
driver core fixes: bus_add_device() cleanup on error

Correct cleanup in the error path of bus_add_device().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core fixes: bus_add_attrs() retval check
Cornelia Huck [Fri, 22 Sep 2006 09:37:04 +0000 (11:37 +0200)]
driver core fixes: bus_add_attrs() retval check

Check return value of bus_add_attrs() in bus_register().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agodriver core fixes: sysfs_create_link() retval check in class.c
Cornelia Huck [Fri, 22 Sep 2006 09:37:00 +0000 (11:37 +0200)]
driver core fixes: sysfs_create_link() retval check in class.c

Check for return value of sysfs_create_link() in class_device_add().

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agosysfs: update obsolete comment in sysfs_update_file
Hidetoshi Seto [Wed, 20 Sep 2006 07:49:02 +0000 (16:49 +0900)]
sysfs: update obsolete comment in sysfs_update_file

And the obsolete comment should be updated (or totally removed).

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agosysfs: remove duplicated dput in sysfs_update_file
Hidetoshi Seto [Wed, 20 Sep 2006 07:38:00 +0000 (16:38 +0900)]
sysfs: remove duplicated dput in sysfs_update_file

Following function can drops d_count twice against one reference
by lookup_one_len.

<SOURCE>
/**
 * sysfs_update_file - update the modified timestamp on an object attribute.
 * @kobj: object we're acting for.
 * @attr: attribute descriptor.
 */
int sysfs_update_file(struct kobject * kobj, const struct attribute * attr)
{
        struct dentry * dir = kobj->dentry;
        struct dentry * victim;
        int res = -ENOENT;

        mutex_lock(&dir->d_inode->i_mutex);
        victim = lookup_one_len(attr->name, dir, strlen(attr->name));
        if (!IS_ERR(victim)) {
                /* make sure dentry is really there */
                if (victim->d_inode &&
                    (victim->d_parent->d_inode == dir->d_inode)) {
                        victim->d_inode->i_mtime = CURRENT_TIME;
                        fsnotify_modify(victim);

                        /**
                         * Drop reference from initial sysfs_get_dentry().
                         */
                        dput(victim);
                        res = 0;
                } else
                        d_drop(victim);

                /**
                 * Drop the reference acquired from sysfs_get_dentry() above.
                 */
                dput(victim);
        }
        mutex_unlock(&dir->d_inode->i_mutex);

        return res;
}
</SOURCE>

PCI-hotplug (drivers/pci/hotplug/pci_hotplug_core.c) is only user of
this function. I confirmed that dentry of /sys/bus/pci/slots/XXX/*
have negative d_count value.

This patch removes unnecessary dput().

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Acked-by: Maneesh Soni <maneesh@in.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoHOWTO: bug report addition
Diego Calleja [Thu, 21 Sep 2006 20:37:10 +0000 (22:37 +0200)]
HOWTO: bug report addition

I suspect that not many people is subscribed to the bugzilla mailing list,
not surprising since the URLs doesn't seem to be in the tree :)

After fixing my english, I wonder if the following patch could be applied...

Signed-off-by: Diego Calleja <diegocg@gmail.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoFix dev_printk() is now GPL-only
Matthew Wilcox [Sun, 24 Sep 2006 05:35:04 +0000 (23:35 -0600)]
Fix dev_printk() is now GPL-only

Make dev_printk usable from non-GPL modules again

dev_printk now calls dev_driver_string.  We want even proprietary modules
to be calling dev_printk, so the export of dev_driver_string needs to be
non-GPL-only.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoDriver core: plug device probe memory leak
Duncan Sands [Wed, 27 Sep 2006 21:38:08 +0000 (23:38 +0200)]
Driver core: plug device probe memory leak

Make sure data is freed if the kthread fails to start.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoDocumentation: feature-removal-schedule typo
Dominik Brodowski [Sun, 1 Oct 2006 02:41:43 +0000 (22:41 -0400)]
Documentation: feature-removal-schedule typo

Fix typo in newly added feature remove schedule item.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI Hotplug: move pci_hotplug.h to include/linux/
Greg Kroah-Hartman [Sat, 14 Oct 2006 03:05:19 +0000 (20:05 -0700)]
PCI Hotplug: move pci_hotplug.h to include/linux/

This makes it possible to build pci hotplug drivers outside of the main
kernel tree, and Sam keeps telling me to move local header files to
their proper places...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agochange pci hotplug subsystem maintainer to Kristen
Kristen Carlson Accardi [Fri, 29 Sep 2006 17:30:27 +0000 (10:30 -0700)]
change pci hotplug subsystem maintainer to Kristen

Here's a patch adding me to the maintainers file for the pci
hotplug subsystem, as we discussed.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: optionally sort device lists breadth-first
Matt Domsch [Fri, 29 Sep 2006 20:23:23 +0000 (15:23 -0500)]
PCI: optionally sort device lists breadth-first

Problem:
New Dell PowerEdge servers have 2 embedded ethernet ports, which are
labeled NIC1 and NIC2 on the chassis, in the BIOS setup screens, and
in the printed documentation.  Assuming no other add-in ethernet ports
in the system, Linux 2.4 kernels name these eth0 and eth1
respectively.  Many people have come to expect this naming.  Linux 2.6
kernels name these eth1 and eth0 respectively (backwards from
expectations).  I also have reports that various Sun and HP servers
have similar behavior.

Root cause:
Linux 2.4 kernels walk the pci_devices list, which happens to be
sorted in breadth-first order (or pcbios_find_device order on i386,
which most often is breadth-first also).  2.6 kernels have both the
pci_devices list and the pci_bus_type.klist_devices list, the latter
is what is walked at driver load time to match the pci_id tables; this
klist happens to be in depth-first order.

On systems where, for physical routing reasons, NIC1 appears on a
lower bus number than NIC2, but NIC2's bridge is discovered first in
the depth-first ordering, NIC2 will be discovered before NIC1.  If the
list were sorted breadth-first, NIC1 would be discovered before NIC2.

A PowerEdge 1955 system has the following topology which easily
exhibits the difference between depth-first and breadth-first device
lists.

-[0000:00]-+-00.0  Intel Corporation 5000P Chipset Memory Controller Hub
           +-02.0-[0000:03-08]--+-00.0-[0000:04-07]--+-00.0-[0000:05-06]----00.0-[0000:06]----00.0  Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (labeled NIC2, 2.4 kernel name eth1, 2.6 kernel name eth0)
           +-1c.0-[0000:01-02]----00.0-[0000:02]----00.0  Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (labeled NIC1, 2.4 kernel name eth0, 2.6 kernel name eth1)

Other factors, such as device driver load order and the presence of
PCI slots at various points in the bus hierarchy further complicate
this problem; I'm not trying to solve those here, just restore the
device order, and thus basic behavior, that 2.4 kernels had.

Solution:

The solution can come in multiple steps.

Suggested fix #1: kernel
Patch below optionally sorts the two device lists into breadth-first
ordering to maintain compatibility with 2.4 kernels.  It adds two new
command line options:
  pci=bfsort
  pci=nobfsort
to force the sort order, or not, as you wish.  It also adds DMI checks
for the specific Dell systems which exhibit "backwards" ordering, to
make them "right".

Suggested fix #2: udev rules from userland
Many people also have the expectation that embedded NICs are always
discovered before add-in NICs (which this patch does not try to do).
Using the PCI IRQ Routing Table provided by system BIOS, it's easy to
determine which PCI devices are embedded, or if add-in, which PCI slot
they're in.  I'm working on a tool that would allow udev to name
ethernet devices in ascending embedded, slot 1 .. slot N order,
subsort by PCI bus/dev/fn breadth-first.  It'll be possible to use it
independent of udev as well for those distributions that don't use
udev in their installers.

Suggested fix #3: system board routing rules
One can constrain the system board layout to put NIC1 ahead of NIC2
regardless of breadth-first or depth-first discovery order.  This adds
a significant level of complexity to board routing, and may not be
possible in all instances (witness the above systems from several
major manufacturers).  I don't want to encourage this particular train
of thought too far, at the expense of not doing #1 or #2 above.

Feedback appreciated.  Patch tested on a Dell PowerEdge 1955 blade
with 2.6.18.

You'll also note I took some liberty and temporarily break the klist
abstraction to simplify and speed up the sort algorithm.  I think
that's both safe and appropriate in this instance.

Signed-off-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agocpcihp_generic: prevent loading without "bridge" parameter
Akinobu Mita [Fri, 13 Oct 2006 18:07:30 +0000 (03:07 +0900)]
cpcihp_generic: prevent loading without "bridge" parameter

cpcihp_generic module requires configured "bridge" module parameter.
But it can be loaded successfully without that parameter.
Because module init call ends up returning positive value.

This patch prevents from loading without setting "bridge" module parameter.

Signed-off-by: Akinbou Mita <akinobu.mita@gmail.com>
Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agopci: Additional search functions
Alan Cox [Mon, 16 Oct 2006 23:20:21 +0000 (16:20 -0700)]
pci: Additional search functions

In order to finish converting to pci_get_* interfaces we need to add a couple
of bits of missing functionaility

pci_get_bus_and_slot() provides the equivalent to pci_find_slot()
(pci_get_slot is already taken as a name for something similar but not the
same)

pci_get_device_reverse() is the equivalent of pci_find_device_reverse but
refcounting

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: quirks: switch quirks code offender to use pci_get API
Alan Cox [Tue, 10 Oct 2006 21:39:00 +0000 (14:39 -0700)]
PCI: quirks: switch quirks code offender to use pci_get API

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: Update MSI-HOWTO.txt according to pci_msi_supported()
Brice Goglin [Thu, 5 Oct 2006 08:24:42 +0000 (10:24 +0200)]
PCI: Update MSI-HOWTO.txt according to pci_msi_supported()

Update MSI-HOWTO.txt according to pci_msi_supported().

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: Improve pci_msi_supported() comments
Brice Goglin [Thu, 5 Oct 2006 08:24:31 +0000 (10:24 +0200)]
PCI: Improve pci_msi_supported() comments

Improve pci_msi_supported() comments.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI hotplug: ioremap balanced with iounmap
Amol Lad [Thu, 5 Oct 2006 06:37:32 +0000 (12:07 +0530)]
PCI hotplug: ioremap balanced with iounmap

1. ioremap must be balanced by an iounmap and failing to do so can
   result in a memory leak.
2. Handle return value correctly

Tested (compilation only) with:
- allmodconfig

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoshpchp: remove unnecessary cmd_busy member from struct controller
Kenji Kaneshige [Thu, 28 Sep 2006 22:51:36 +0000 (15:51 -0700)]
shpchp: remove unnecessary cmd_busy member from struct controller

This patch removes unnecessary cmd_busy member from struct
controller. Read command status register instead of using cmd_busy.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoshpchp: fix command completion check
Kenji Kaneshige [Thu, 28 Sep 2006 22:51:21 +0000 (15:51 -0700)]
shpchp: fix command completion check

This patch fixes the problem that shpchp driver could mis-detect
command failures if the system was under heavy load.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agopci: Stamp out pci_find_* usage in fakephp
Alan Cox [Fri, 29 Sep 2006 17:36:15 +0000 (18:36 +0100)]
pci: Stamp out pci_find_* usage in fakephp

pci_find is not hotplug safe, so it really doesn't want to be in an
actual hotplug driver either.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error
Zhang, Yanmin [Thu, 28 Sep 2006 06:35:59 +0000 (14:35 +0800)]
PCI: fix pcie_portdrv_restore_config undefined without CONFIG_PM error

On Thu, 2006-09-28 at 03:42, Olaf Hering wrote:
> PCI-Express AER implemetation: pcie_portdrv error handler
>
> This patch breaks if CONFIG_PM is not enabled,
> pcie_portdrv_restore_config() will be undefined.
I move the definition of pcie_portdrv_restore_config
out of CONFIG_PM.

Below patch is against 2.6.18-mm1. Could you try it?

Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoFix DMA resource allocation in ACPIPnP
Vojtech Pavlik [Fri, 7 Apr 2006 18:00:27 +0000 (20:00 +0200)]
Fix DMA resource allocation in ACPIPnP

The ACPIPnP implementation had the understanding of Linux resource flags very
wrong, resulting in a nonfunctional implementation of DMA resource
allocation.

This was usually not a problem, since almost no on-board PnP devices use ISA
DMA, with the exception of ECP parallel ports. Even with that, parallel port
DMA is preconfigured by the BIOS, so this routine isn't normally called.

Except in the case where somebody does 'rmmod parport_pc; modprobe
parport_pc', where the rmmod case disables the ECP parallel port resources,
and they need to be enabled again to initialize the module. This didn't
work, resulting in a non-printing printer.

The application doing exactly the above to force reprobing of printers is
the YaST printer module. Thus without this fix YaST wedged the printer when
configuring it, and was not able to print a test page.

Reported-by: Ralf Flaxa <rf@suse.de>
Reproduced-by: Jiri Dluhos <jdluhos@suse.cz>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: Turn pci_fixup_video into generic for embedded VGA
eiichiro.oiwa.nm@hitachi.com [Thu, 28 Sep 2006 04:55:47 +0000 (13:55 +0900)]
PCI: Turn pci_fixup_video into generic for embedded VGA

pci_fixup_video turns into generic code because there are many platforms need this fixup
for embedded VGA as well as x86. The Video BIOS integrates into System BIOS on a machine
has embedded VGA although embedded VGA generally don't have PCI ROM. As a result,
embedded VGA need the way that the sysfs rom points to the Video BIOS of System
RAM (0xC0000). PCI-to-PCI Bridge Architecture specification describes the condition whether
or not PCI ROM forwards VGA compatible memory address. fixup_video suits this specification.
Although the Video ROM generally implements in x86 code regardless of platform, some
application such as X Window System can run this code by dosemu86. Therefore,
pci_fixup_video should turn into generic code.

Signed-off-by: Eiichiro Oiwa <eiichiro.oiwa.nm@hitachi.com>
Acked-by: Alan Cox <alan@redhat.com>
Acked-by: Jesse Barnes <jesse.barnes@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: add ICH7/8 ACPI/GPIO io resource quirks
Daniel Ritz [Mon, 25 Sep 2006 23:52:21 +0000 (16:52 -0700)]
PCI: add ICH7/8 ACPI/GPIO io resource quirks

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: pcie-check-and-return-bus_register-errors fix
Andrew Morton [Mon, 25 Sep 2006 23:52:20 +0000 (16:52 -0700)]
PCI: pcie-check-and-return-bus_register-errors fix

__must_check goes on the declaration, not the definition.

Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: VIA IRQ quirk behaviour change
Daniel Drake [Mon, 25 Sep 2006 23:52:19 +0000 (16:52 -0700)]
PCI: VIA IRQ quirk behaviour change

The most recent VIA IRQ quirk changes have broken various VIA devices for
some users.  We are not able to add these devices to the blacklist as they
are also available in PCI-card form, and running the quirk on these devices
brings us back to square one (running the VIA quirk on non-VIA boards where
the quirk is not needed).

This patch, based on suggestions from Sergey Vlasov, implements a scheme
similar to but more restrictive than the scheme we had in 2.6.16 and
earlier.  It runs the quirk on all VIA hardware, but *only* if a VIA
southbridge was detected on the system.

To further reduce the amount of quirked devices, this patch includes a
change suggested by Linus at http://lkml.org/lkml/2005/9/27/113 This
ensures that devices bound to non-legacy IO-APIC interrupt lines are not
quirked.  We have made one change to Linus' suggestion: we do a comparison
of ">15" rather than ">=15", as 15 is still in the legacy interrupt range.

There is still a downside to this patch: if the user inserts a VIA PCI card
into a VIA-based motherboard, in some circumstances the quirk will also run
on the VIA PCI card.  This corner case is hard to avoid.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agopciehp: Remove unnecessary check in pciehp_ctrl.c
Eric Sesterhenn [Sun, 24 Sep 2006 22:56:53 +0000 (00:56 +0200)]
pciehp: Remove unnecessary check in pciehp_ctrl.c

this was spotted by coverity (cid #819). We dereference p_slot
earlier in the function, and i found no way it could become NULL
anywhere.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>