Commit graph

14943 commits

Author SHA1 Message Date
Stefan Richter
3e98eab46d ieee1394: sbp2: safer initialization of status fifo
Sbp2's copy of the status fifo was cleared when management ORBs or new
command ORBs were prepared.  The latter had potential for a race
condition if the block layer's soft IRQ and the 1394 LLD's interrupt
handler ran on different CPUs.  It would also yield wrong status if a
command was completed with non-zero completion status before other
commands that had zero completion status, and no new command was
enqueued in the meantime.

Now, the status buffer is cleared right before it is written.  Thus it
ends up in the following simpler and safer access pattern:
 - sbp2_alloc_device: allocates and implicitly clears once,
 - sbp2_handle_status_write: clears, writes, and reads,
 - sbp2_query_logins, sbp2_login_device, sbp2_reconnect_device: read.
The latter three do not race with sbp2_handle_status_write because of
how the protocol works.

As a tiny optimization, the first two quadlets of the status never need
to be cleared.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:29:22 +02:00
Stefan Richter
d4018d7fa6 ieee1394: sbp2: optimize DMA direction of command ORBs
Only the driver writes ORBs, the device just reads them.  Therefore
PCI_DMA_BIDIRECTIONAL can be replaced by PCI_DMA_TODEVICE which may be
cheaper on some architectures.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:29:11 +02:00
Stefan Richter
28212767e5 ieee1394: sbp2: discard return value of sbp2_link_orb_command
Since sbp2 is at the moment unable to do anything with the return value
of sbp2_link_orb_command, just discard it.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:29:01 +02:00
Stefan Richter
cc07818912 ieee1394: sbp2: safer last_orb and next_ORB handling
The sbp2 initiator has two ways to tell a target's fetch agent about new
command ORBs:
 - Write the ORB's address to the ORB_POINTER register.  This must not
   be done while the fetch agent is active.
 - Put the ORB's address into the previously submitted ORB's next_ORB
   field and write to the DOORBELL register.  This may be done while the
   fetch agent is active or suspended.  It must not be done while the
   fetch agent is in reset state.
Sbp2 has a last_orb pointer which indicates in what way a new command
should be announced.  That pointer is concurrently accessed at various
occasions.  Furthermore, initiator and target are accessing the next_ORB
field of ORBs concurrently and asynchronously.

This patch does:
 - Protect all initiator accesses to last_orb by sbp2_command_orb_lock.
 - Add pci_dma_sync_single_for_device before a previously submitted
   ORB's next_ORB field is overwritten.
 - Insert a memory barrier between when next_ORB_lo and next_ORB_hi are
   overwritten.  Next_ORB_hi must not be updated before next_ORB_lo.
 - Remove the rather unspecific and now superfluous qualifier "volatile"
   from the next_ORB fields.
 - Add comments on how last_orb is connected with what is known about
   the target's fetch agent's state.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:19:25 +02:00
Stefan Richter
9154df538f ieee1394: remove #include <asm/semaphore.h>
These includes in ieee1394_core and eth1394 are obsolete.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:18:50 +02:00
Stefan Richter
9951903e61 ieee1394: shrink tlabel pools, remove tpool semaphores
This patch reduces the size of struct hpsb_host and also removes
semaphores from ieee1394_transactions.c.  On i386, struct hpsb_host
shrinks from 10656 bytes to 6688 bytes.  This is accomplished by
 - using a single wait_queue for hpsb_get_tlabel instead of many
   instances of semaphores,
 - using a single lock to serialize access to all tlabel pools (the
   protected code regions are small, i.e. lock contention very low),
 - omitting the sysfs attribute tlabels_allocations.

Drawback:  In the rare case that a process needs to sleep because all
transaction labels for the node are temporarily exhausted, it is also
woken up if a tlabel for a different node became free, checks for an
available tlabel, and is put to sleep again.  The check is not costly
and the situation occurs extremely rarely.  (Tlabels are typically
only exhausted if there was no context switch to the khpsbpkt thread
which recycles tlables.)  Therefore the benefit of reduced tpool size
outweighs this drawback.

The sysfs attributes tlabels_free and tlabels_mask are not compiled
anymore unless CONFIG_IEEE1394_VERBOSEDEBUG is set.

The by far biggest member of struct hpsb_host, the struct csr_control
csr (5272 bytes on i386), is now placed at the end of struct hpsb_host.

Note, hpsb_get_tlabel calls the macro wait_event_interruptible with a
condition argument which has a side effect (allocation of a tlabel and
manipulation of the packet).  This side effect happens only if the
condition is true.  The patch relies on wait_event_interruptible not
evaluating the condition again after it became true.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 19:17:13 +02:00
Stefan Richter
9b4f2e9576 ieee1394: merge from Linus
Conflicts: drivers/ieee1394/hosts.c
Patch "lockdep: annotate ieee1394 skb-queue-head locking" was meddling
with patch "ieee1394: fix kerneldoc of hpsb_alloc_host".

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2006-09-17 18:19:31 +02:00
Jeff Garzik
803db244b9 Merge branch 'master' into upstream-fixes 2006-09-17 01:05:43 -04:00
Frank Pavlic
8b98a37c4b [PATCH] s390: qeth driver fixes [6/6]
[PATCH 9/9] s390: qeth driver fixes [6/6]

From: Frank Pavlic <fpavlic@de.ibm.com>
	- Hipersockets has no IPV6 support, thus prevent issueing
	  SETRTG_IPV6 control commands on Hipersockets devices.
	- fixed error handling in qeth_sysfs_(un)register

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:08 -04:00
Frank Pavlic
f956b6902e [PATCH] s390: qeth driver fixes [5/6]
[PATCH 8/9] s390: qeth driver fixes [5/6]

From: Frank Pavlic <fpavlic@de.ibm.com>
	fix kernel panic in qdio queue handling.
	qeth_qdio_clear_card() could be invoked by 2 CPUs
	simultaneously (for example reboot event and recovery).

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
09d2d38a15 [PATCH] s390: qeth driver fixes [4/6]
[PATCH 7/9] s390: qeth driver fixes [4/6]

From: Frank Pavlic <fpavlic@de.ibm.com>
	- fix kernel crash due to race,
	  set card->state to SOFTSETUP after
	  card and card->dev are initialized properly.
	- remove CONFIG_QETH_PERF_STATS, use sysfs attribute instead,
	  as we want to have the ability to turn on/off the
	  statistics at runtime.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
f7b65d70a3 [PATCH] s390: qeth driver fixes [3/6]
[PATCH 6/9] s390: qeth driver fixes [3/6]

From: Frank Pavlic <fpavlic@de.ibm.com>
       	fixed kernel panic caused by qeth driver:
        Using a bonding device qeth driver will realloc
        headroom for every skb coming from the bond device.
        Once this happens qeth frees the original skb and
        set the skb pointer to the new realloced skb.
        Under heavy transmit workload (e.g.UDP streams) through bond
        network device the qdio output queue might get full.
        In this case we return with EBUSY from qeth_send_packet.
        Returning to qeth_hard_start_xmit routine
        the skb address on the stack still points to the old address,
        which has been freed before.
        Returning from qeth_hard_start_xmit with EBUSY results in
        requeuing the skb. In this case it corrupts the qdisc queue
        and results in kernel panic.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
1fda1a120b [PATCH] s390: qeth driver fixes [2/6]
[PATCH 5/9] s390: qeth driver fixes [2/6]

From: Frank Pavlic <fpavlic@de.ibm.com>
	- fixed error handling in create_device_attributes
	- fixed some minor bugs in IPv4
	  and IPv6 address checking

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
330b636908 [PATCH] s390: qeth driver fixes [1/6]
[PATCH 4/9] s390: qeth driver fixes [1/6]

From: Frank Pavlic <fpavlic@de.ibm.com>
	- Drop incoming packets with vlan_tag set
          if card->vlangrp is not set.
        - use always vlan_hwaccel_rx to pass
	  vlan frames to the stack.
        - fix recovery problem. Device was recovered
	  properly but still not working.
	  netif_carrier_on call right before
          recovery start fixes it.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
f449c565ea [PATCH] s390: Makefile cleanup
[PATCH 3/9] s390: Makefile cleanup

From: Frank Pavlic <fpavlic@de.ibm.com>
 	remove CONFIG_MPC from Makefile which was
	introduced accidently in the past.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
16a83b3077 [PATCH] s390: netiucv driver fixes
[PATCH 2/9] s390: netiucv driver fixes

From: Frank Pavlic <fpavlic@de.ibm.com>
	- missing lock initialization added
        - avoid duplicate iucv-interfaces to the same peer
       	- rw-lock added for manipulating the list of
          defined iucv connections

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:07 -04:00
Frank Pavlic
4c7ae6ea59 [PATCH] s390: minor s390 network driver fixes
Hi Jeff,
this is a RESEND of the nine s390 network driver patches.
I finally found  that my kmail corrupted almost every patch
I sent the last time. Please apply these 9 patches and forget
about my first attempt! Sorry for the delay, I had some fights
with sendmail, IMAP and mutt configuration.

Frank

[RESEND PATCH 1/9] s390: minor s390 network driver fixes

From: Frank Pavlic <fpavlic@de.ibm.com>
	- iucv driver:
          use do { } while (0) constructs
	  instead of empty defines to avoid compile bugs.
        - ctc driver:
          missing lock initialization added
        - lcs driver:
          BUG_ON usage was removed accidently
	  with the last lcs patch.
          Put them back in place.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-17 01:03:06 -04:00
Linus Torvalds
35e4ddfc86 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  RDMA/cma: Increase the IB CM retry count in CMA
  IPoIB: Retry failed send-only multicast group joins
  IB/srp: Don't schedule reconnect from srp
2006-09-16 21:35:15 -07:00
Vitaly Wool
96da96065b [PATCH] MTD NAND: OOB buffer offset fixups
In the case of data-pad-ecc-pad-data...  layout the oob start position has
to be sizeof(data) in nand_write_oob_syndrom().

In nand_fill_oob() we need to copy to buf + buffer offset instead of buf +
write offset.

Signed-off-by: Vitaly Wool <vwool@ru.mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-16 12:54:32 -07:00
Corey Minyard
4064d5ef26 [PATCH] IPMI: fix handling of OEM flags
If one of the OEM flags becomes set in the flags from the hardware, the
driver could hang if no OEM handler was set.  Fix the code to handle this.
This was tested by setting the flags by hand after they were fetched.

Signed-off-by: Corey Minyard <minyard@acm.org>
Ackde-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-16 12:54:31 -07:00
Andrew Morton
b64074e46a [PATCH] hvc_console suspend fix
Fix http://bugzilla.kernel.org/show_bug.cgi?id=7152

Cc: Michael Tautschnig <tautschn@model.in.tum.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-16 12:54:31 -07:00
Arnaud Patard
55ebcc38a5 [PATCH] IPMI: Fix oops on ipmi_msghandler removal for non ipmi systems
When the ipmi_si module is loaded on a system without any ipmi device, it
fails with nodev.  It would be fine if all resources were freed.  A call to
device_unregister() is missing, resulting to a oops when you remove the
ipmi_msghandler.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-16 12:54:30 -07:00
Michael S. Tsirkin
d5bb75999c RDMA/cma: Increase the IB CM retry count in CMA
3 seems like a low number of IB Communication Manager retries to set;
we see connections failing under stress, and in any case 3 just looks
like an arbitrary number.  15 is the max value allowed by the
InfiniBand spec.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-09-14 13:55:30 -07:00
Eli Cohen
c11bd42a76 IPoIB: Retry failed send-only multicast group joins
When a send-only multicast group join fails, mcast->query must be set
to NULL.  Otherwise, IPoIB will never retry the join and the multicast
group will never be reachable.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-09-14 13:51:41 -07:00
Ishai Rabinovitz
add7afc756 IB/srp: Don't schedule reconnect from srp
If there is a problem in the connection, the SCSI mid-layer will
eventually call srp_reset_host(), which will call srp_reconnect(), so
we do not need to schedule a call to srp_reconnect_work() from
srp_completion().

Removing this prevents srp_reset_host() from failing if a reconnect
scheduled from srp_completion() is already in progress, which in turn
was causing crashes as both SCSI midlayer and srp_reconnect() were
cancelling commands.

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-09-14 13:51:40 -07:00
Dale Farnsworth
71d2872554 [PATCH] mv643xx_eth: Unmap DMA buffers in receive path
Fix a missing call to dma_unmap_single() in the receive path.  Without
this call, errors have been observed on non-cache-coherent systems.

Signed-off-by Dale Farnsworth <dale@farnsworth.org>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-13 12:26:03 -04:00
Mike Miller
1883c5aba9 [PATCH] cciss: version update, new hw
Add support for new hardware and bumps the version to 3.6.10.  It seems
there were several changes introduced including soft_irq.  I decided to
bump the major number to reflect these changes.  Since we're still
supporting older vendor kernels I need some way differentiate between
kernel versions <=2.6.10 and newer kernels >=2.6.16.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-13 07:32:16 -07:00
Stefan Richter
7fbb36451a [PATCH] SCSI: lockdep annotation in scsi_send_eh_cmnd
Fixup for lockdep enabled kernels: Annotate an on-stack completion.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-13 07:32:14 -07:00
Michael De Backer
e11db063d8 [PATCH] alim15x3.c: M5229 (rev c8) support for DMA cd-writer
Configuration bits are not set properly for DMA on some chipset revisions.
It has already been corrected for M5229 (rev c7) but not for M5229 (rev
c8).  This leads to the bug described at
http://bugzilla.kernel.org/show_bug.cgi?id=5786 (lost interrupt + ide bus
hangs).

Signed-off-by: Michael De Backer <micdb@skynet.be>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-13 07:32:14 -07:00
Tejun Heo
a4f5749ba6 [PATCH] libata: ignore CFA signature while sanity-checking an ATAPI device
0x848a in ID word 0 indicates CFA device iff the ID data is obtained from
IDENTIFY DEVICE.  For ATAPI devices, 0x848a in ID work 0 indicates valid
ATAPI device.  Fix sanity check in ata_dev_read_id() such that ATAPI
devices reporting 0x848a in ID word 0 is not handled as error.

The problem is identified by J.A.  Magallon with HL-DT-ST DVDRAM GSA-4120B.

Signed-off-by: Tejun Helo <htejun@gmail.com>
Cc: J.A. Magallon <jamagallon@ono.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-13 07:32:14 -07:00
Jeff Garzik
eff68d452f Merge branch 'master' into upstream-fixes 2006-09-13 00:34:34 -04:00
Linus Torvalds
7366935a49 Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (4608c): Fix I2C dependencies for saa7146 modules
  V4L/DVB (4608b): i2c deps fix on DVB
  V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install
  V4L/DVB (4520): Fix an error when loading bttv driver on PV M4900.
  V4L/DVB (4511): Restore tuner_ymec_tvf66t5_b_dff_pal_ranges[] to fix UHF switch functionality
  V4L/DVB (4494a): Fix compilation when V4L1 support is not present
2006-09-12 17:33:42 -07:00
Linus Torvalds
3ee4b889a0 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: Fix unload oops and memory leak in yealink driver
  usbserial: Reference leak
2006-09-12 17:32:21 -07:00
Auke Kok
6a9516989f [PATCH] e1000: fix TX timout hang regression for 82542rev3
Commit 581d708eb4 (oct. 5 2005) introduced
partial Multiqueue support for e1000 which broke macro smartness in setting
up head/tail registers for 82542 rev3 chipsets, making these adapters
completely non-working since 2.6.15.

This commit sets the proper head and tail registers for read and write
descriptor rings. Ths fix was tested on an 82542 rev3 NIC and newer NICs.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-12 11:46:39 -04:00
Jeff Garzik
1802ca7452 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes 2006-09-12 11:42:33 -04:00
Henk Vergonet
3e2aac366f USB: Fix unload oops and memory leak in yealink driver
This patch fixes a memory leak and a kernel oops when trying to unload
the driver, due to an unbalanced cleanup.
Thanks Ivar Jensen for spotting my mistake.

Signed-off-by: Henk Vergonet <henk.vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-12 03:10:21 -07:00
Matthias Urlichs
5992583889 usbserial: Reference leak
A sufficiently-large number of USB serial devices causes a reference leak
when /proc/tty/drivers/usbserial is read.

Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-12 03:10:20 -07:00
Paul Mundt
21264136ce sh64: Trivial build fixes.
While we've been sorting out the toolchain fiasco, some of
the code has suffered a bit of bitrot. Building with GCC4
also brings up some more build warnings. Trivial fixes for
both issues.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-12 14:36:46 +09:00
Ulrich Kunitz
db888aed7e [PATCH] zd1211rw: Fix of signal strength and quality measurement
Caused by a documentation issue I mixed up fields of the zd_status
structure. This patch fixes it and improves also the average
computation, which is now using only measurements of packets sent
by the access point.

Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-09-11 16:11:08 -04:00
Linus Torvalds
5eea7ee207 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  usbtouchscreen: fix ITM data reading
  USB: New device ID for ftdi_sio usb serial driver
  USB: Support for USB20SVGA-WH & USB20SVGA-DG
  USB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404
2006-09-11 11:42:27 -07:00
Linus Torvalds
e004876c3b Merge master.kernel.org:/home/rmk/linux-2.6-mmc
* master.kernel.org:/home/rmk/linux-2.6-mmc:
  [MMC] Always use a sector size of 512 bytes
  [MMC] Cleanup 385e3227d4
  [ARM] 3751/1: i.MX/MX1 SD/MMC use 512 bytes request for SCR read
  [MMC] Fix SD timeout calculation
  [MMC] constify mmc_host_ops
2006-09-11 07:56:38 -07:00
Linus Torvalds
08a55c01b5 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] Fix dm9000 release_resource
2006-09-11 07:54:45 -07:00
Linus Torvalds
3f2f1257ff Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [PATCH] ata_piix: add map 01b for ICH7M
  [libata] sata_mv: errata check buglet fix
2006-09-11 07:54:14 -07:00
Alan Cox
28a2a3f587 [PATCH] Fix 2.6.18-rc6 IDE breakage, add missing ident needed for current VIA boards
There are two changes here.  The first reverses the broken PCI_DEVICE
conversion back to the old format.  The second adds a missing PCI ID so
you can actually boot 2.6.18 on 2 month old VIA motherboards (right now
only 2.6.18-mm works).

CC'd to Jeff to check the PCI ident but its a) in several distro kernels
and b) in 2.6.18-mm [twice ??]

Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-11 07:53:44 -07:00
Dirk Opfer
519854876c [PATCH] Fix dm9000 release_resource
dm9000_release_board calls release_resource with the platform resource
instead of the requested resource:

db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
db->addr_req = request_mem_region(db->addr_res->start, i, pdev->name);

dm9000_release_board:

if (db->addr_res != NULL) {
release_resource(db->addr_res);
kfree(db->addr_req);

With this behavior the kernel will crash on the second removal. The
attached patch fix this problem.

Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:08:38 -04:00
Tejun Heo
6708374178 [PATCH] ata_piix: add map 01b for ICH7M
Although the document says otherwise, some ich7m uses map 01b.  This
patch adds separate map DB for ICH7M and adds map entry for 01b.

This was spotted on an ASUS laptop by Jonathan Dieter.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Jonathan Dieter <jdieter@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 08:52:29 -04:00
Andres Salomon
62f1d0e6de [libata] sata_mv: errata check buglet fix
Fix a buglet; the errata check below this code is assuming the value in
the sstatus variable is what was pulled out of the SCR_STATUS register.
However, the status checks in the timeout loop clobber everything
but the first 4 bits of sstatus, so the errata checks are invalid.

This patch changes it to not clobber SStatus.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 08:51:05 -04:00
Mauro Carvalho Chehab
e7ea8fc285 V4L/DVB (4608c): Fix I2C dependencies for saa7146 modules
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-10 13:46:01 -03:00
Andrew de Quincey
c482d4f6e8 V4L/DVB (4608b): i2c deps fix on DVB
Several DVB modules depends on I2C

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-10 13:45:58 -03:00
Mauro Carvalho Chehab
8a905162e0 V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install
V4L1 support should be disabled when no CONFIG_VIDEO_V4L1_COMPAT is defined,
to allow checking for broken V4L2 ports. This is very important during the
migration phase for V4L2 API.
However, userspace apps should be capable of using both APIs, since they need
to test at runtime, via VIDIOCGCAP ioctl, if V4L1 is supported. So, when
__KERNEL__ is not defined, those ioctls and corresponding structs should be
visible.
This patch also removes the obsolete defines HAVE_V4L1 and HAVE_V4L2, that
where causing some confusion, and were replaced by CONFIG_VIDEO_V4L1_COMPAT
and CONFIG_VIDEO_V4L2.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-10 13:45:55 -03:00