summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put.Jean-Francois Moine2008-11-242-4/+11
| | | | | | | | | | | The previous subdriver protection against rmmod was done via the file operations table in the device descriptor. On device disconnection while streaming, the device structure was freed at close time, and the module_put still used the module name in the freed area. Now, explicit module get/put are done on open and close. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9689): gspca: Memory leak when disconnect while streaming.Jean-Francois Moine2008-11-2410-10/+39
| | | | | | | | As a side effect, the sd routine stop0 is called on disconnect. This permits the subdriver to free its resources. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9668): em28xx: fix a race condition with haldMauro Carvalho Chehab2008-11-201-53/+75
| | | | | | | | | | | | | | Newer versions of hald tries to open it to call QUERYCAP. Due to the lack of a proper locking, it is possible to open the device before it finishes initialization. This patch adds a lock to avoid this risk, and to protect the list of em28xx devices. While here, remove the uneeded BKL lock. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9664): af9015: don't reconnect device in USB-busJose Alberto Reguero2008-11-201-6/+2
| | | | | | | | | | Don't reconnect device in the USB-bus. Reconnect command was not executed every time by device firmware and that causes harm. Reconnection is not needed so remove it. Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9647): em28xx: void having two concurrent control URB'sMauro Carvalho Chehab2008-11-203-2/+12
| | | | | | | | | | | Now that we have a polling task for IR, there's a race condition, since IR can be polling while other operations are being doing. Also, we are now sharing the same urb_buf for both read and write control urb operations. So, we need a mutex. Thanks to Davin Heitmueller <devin.heitmueller@gmail.com> for warning me. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urbMauro Carvalho Chehab2008-11-202-22/+31
| | | | | | | | | | | | Before this patch, every register setup on em28xx were dynamically allocating a temporary buffer for control URB's to be handled. To avoid this ping-pong, use, instead a pre-allocated buffer. Also, be sure that read control URB's also use the buffer, instead of relying on a stack buffer. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9645): em28xx: Avoid memory leaks if registration failsMauro Carvalho Chehab2008-11-201-4/+5
| | | | | | | em28xx_init_dev() has some error conditions that are not properly de-allocating dev var, nor freeing the device number for a future usage. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20Devin Heitmueller2008-11-173-2/+158
| | | | | | | | | | | | | | | The format for reading the IR controller changed in firmware 1.20. It now provides the events on bulk endpoint 1 instead of using a control request. Support the new format, providing backward compatibility for users who might be using older firmware. Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing the required information on how the version 1.20 firmware works. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endianHarvey Harrison2008-11-171-1/+1
| | | | | | | | | | Noticed by sparse: drivers/media/video/s2255drv.c:2531:6: warning: restricted __le32 degrades to integer Cc: Dean Anderson <dean@sensoray.com> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9634): Make sure the i2c gate is open before powering down tunerDevin Heitmueller2008-11-171-0/+2
| | | | | | | | | | | | It is not safe to assume that the i2c gate will be open before issuing the command to power down the tuner. In fact, many demods only open the gate long enough to issue the tuning command. This fix allows power management to work properly for those tuners behind an i2c gate (in my case the problem was with the HVR-950Q) Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9632): make em28xx aux audio input workDevin Heitmueller2008-11-171-0/+2
| | | | | | | | | | | | | The attached patch makes the em28xx auxillary audio input work. Tested with the HVR-950. em28xx: make auxillary audio input work The tuner audio input was working but the aux input wasn't. Tested with the HVR-950. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9631): Make s2api work for ATSC supportDevin Heitmueller2008-11-171-1/+2
| | | | | | | | | ATSC should be considered a legacy delivery system, or else fields such as p->u.vsb.modulation do not get populated (resulting in set_frontend failures) Cc: Steven Toth <stoth@linuxtv.org> Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eepromMauro Carvalho Chehab2008-11-171-4/+6
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9608): Fix section mismatch warning for dm1105 during makeIgor M. Liplianin2008-11-171-1/+1
| | | | | | | -- Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9605): usb-urb: fix memory leakDouglas Schilling Landgraf2008-11-171-5/+14
| | | | | | | Free allocated memory Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9604): ttusb_dec: fix memory leakDouglas Schilling Landgraf2008-11-171-0/+1
| | | | | | | Free allocated memory Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9603): dvb-ttusb-budget: Add validation for ttusb_alloc_iso_urbsDouglas Schilling Landgraf2008-11-171-1/+8
| | | | | | | Added validation for ttusb_alloc_iso_urbs Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9602): dvb-ttusb-budget: Add NULL pointer validationDouglas Schilling Landgraf2008-11-171-0/+6
| | | | | | | Added validation for NULL pointer Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9601): ttusb_dec: Add NULL pointer validationDouglas Schilling Landgraf2008-11-171-0/+6
| | | | | | | Added validation for NULL pointer Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* stop_machine: fix race with return value (fixes Bug #11989)Rusty Russell2008-11-171-2/+3
| | | | | | | | | | | | Bug #11989: Suspend failure on NForce4-based boards due to chanes in stop_machine We should not access active.fnret outside the lock; in theory the next stop_machine could overwrite it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Tested-by: "Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Fix broken ownership of /proc/sys/ filesAl Viro2008-11-171-0/+1
| | | | | | | | | D'oh... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Reported-and-tested-by: Peter Palfrader <peter@palfrader.org> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* acpi: fix oops in acpi_system_wakeup_device_seq_showLinus Torvalds2008-11-161-1/+1
| | | | | | | | | | | | | | | Commit 0794469da3f7b2093575cbdfc1108308dd3641ce: ("ACPI: struct device - replace bus_id with dev_name(), dev_set_name()") introduced a bug by testing 'dev_name(ldev)' instead of 'ldev->bus' for NULL when printing out the bus information. So if ldev->bus was NULL, we'd oops. Reported-and-tested-by: Bruno Prémont <bonbons@linux-vserver.org> Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Len Brown <len.brown@intel.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-11-166-25/+58
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: don't grab devices with no input HID: fix radio-mr800 hidquirks HID: fix kworld fm700 radio hidquirks HID: fix start/stop cycle in usbhid driver HID: use single threaded work queue for hid_compat HID: map macbook keys for "Expose" and "Dashboard" HID: support for new unibody macbooks HID: fix locking in hidraw_open()
| * HID: don't grab devices with no inputJiri Slaby2008-11-141-6/+11
| | | | | | | | | | | | | | | | | | | | | | Some devices have no input interrupt endpoint. These won't be handled by usbhid, but currently they are not refused and reside on hid bus. Perform this checking earlier so that we refuse to control such a device early enough (and not pass it to the hid bus at all). Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: fix radio-mr800 hidquirksAlexey Klimov2008-11-131-1/+1
| | | | | | | | | | | | | | | | This patch fixes radio-mr800 hidqurks. Removes it from blacklist entry and places it in ignore entry in hid/hid-core.c Signed-off-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: fix kworld fm700 radio hidquirksAlexey Klimov2008-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes kworld fm700 usb-radio hidqurks that handled by radio-si470x. Removes it from blacklist entry and places it in ignore entry in hid/hid-core.c The bug went in through the V4L/DVB tree by commit 6a13378a without HID maintainer being involved at all. Signed-off-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: fix start/stop cycle in usbhid driverJiri Slaby2008-11-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `stop' left out usbhid->urb* pointers and so the next `start' thought it needs to allocate nothing and used the memory pointers previously pointed to. This led to memory corruption and device malfunction. Also don't forget to clear disconnect flag on start which was left set by the previous `stop'. This fixes echo DEVICE > /sys/bus/hid/drivers/DRIVER/unbind echo DEVICE > /sys/bus/hid/drivers/DRIVER/bind failures. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: use single threaded work queue for hid_compatAndi Kleen2008-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | Use single threaded work queue for hid_compat I doubt HID really needs to scale over multiple CPUs. So only use a single threaded workqueue for HID_COMPAT. This avoids some excessive thread use on systems with a larger number of CPUs. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: map macbook keys for "Expose" and "Dashboard"Henrik Rydberg2008-11-132-2/+5
| | | | | | | | | | | | | | | | | | | | On macbooks there are specific keys for the user-space functions Expose and Dashboard, which currently has no counterpart in input.h. This patch adds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: support for new unibody macbooksHenrik Rydberg2008-11-133-0/+15
| | | | | | | | | | | | | | | | | | The unibody MacBook 5 and MacBook Pro 5 come with a new version of the bcm5974 trackpad. This patch adds the USB device ids and all the appropriate quirks, including hid_blacklist. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: fix locking in hidraw_open()Oliver Neukum2008-11-131-14/+16
| | | | | | | | | | | | | | | | As open needs to sleep hidraw was wrong to call it with a spinlock held. Furthermore, open can of course fail which needs to be handled. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6Linus Torvalds2008-11-166-17/+21
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: ensure correct logging in do_io_probe pcmcia: add another pata/ide ID pcmcia: add braces in error path pcmcia: struct device - replace bus_id with dev_name(), dev_set_name() pcmcia: setup resource information for pseudo multifunction devices. pcmcia: fix indentation & braces disagreement - add braces
| * | pcmcia: ensure correct logging in do_io_probeDominik Brodowski2008-11-091-6/+6
| | | | | | | | | | | | Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | pcmcia: add another pata/ide IDMarc Pignat2008-11-092-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Support for Apacer photo steno pro card. Signed-off-by: Marc Pignat <marc.pignat@hevs.ch> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> CC: Alan Cox <alan@lxorguk.ukuu.org.uk CC: linux-ide@vger.kernel.org
| * | pcmcia: add braces in error pathDominik Brodowski2008-11-021-1/+2
| | | | | | | | | | | | Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | pcmcia: struct device - replace bus_id with dev_name(), dev_set_name()Kay Sievers2008-11-023-9/+8
| | | | | | | | | | | | | | | | | | Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | pcmcia: setup resource information for pseudo multifunction devices.Komuro2008-11-021-0/+2
| | | | | | | | | | | | | | | | | | | | | Setup "io" and "irq" for pseudo multifunction devices. Signed-off-by: Komuro <komurojun-mbn@nifty.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * | pcmcia: fix indentation & braces disagreement - add bracesIlpo Järvinen2008-11-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Broken by d8b0a49da4f2 (pcmcia: deprecate CS_BAD_VCC and CS_BAD_VPP). Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* | | Linux 2.6.28-rc5v2.6.28-rc5Linus Torvalds2008-11-151-1/+1
| | |
* | | Fix inotify watch removal/umount racesAl Viro2008-11-154-48/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inotify watch removals suck violently. To kick the watch out we need (in this order) inode->inotify_mutex and ih->mutex. That's fine if we have a hold on inode; however, for all other cases we need to make damn sure we don't race with umount. We can *NOT* just grab a reference to a watch - inotify_unmount_inodes() will happily sail past it and we'll end with reference to inode potentially outliving its superblock. Ideally we just want to grab an active reference to superblock if we can; that will make sure we won't go into inotify_umount_inodes() until we are done. Cleanup is just deactivate_super(). However, that leaves a messy case - what if we *are* racing with umount() and active references to superblock can't be acquired anymore? We can bump ->s_count, grab ->s_umount, which will almost certainly wait until the superblock is shut down and the watch in question is pining for fjords. That's fine, but there is a problem - we might have hit the window between ->s_active getting to 0 / ->s_count - below S_BIAS (i.e. the moment when superblock is past the point of no return and is heading for shutdown) and the moment when deactivate_super() acquires ->s_umount. We could just do drop_super() yield() and retry, but that's rather antisocial and this stuff is luser-triggerable. OTOH, having grabbed ->s_umount and having found that we'd got there first (i.e. that ->s_root is non-NULL) we know that we won't race with inotify_umount_inodes(). So we could grab a reference to watch and do the rest as above, just with drop_super() instead of deactivate_super(), right? Wrong. We had to drop ih->mutex before we could grab ->s_umount. So the watch could've been gone already. That still can be dealt with - we need to save watch->wd, do idr_find() and compare its result with our pointer. If they match, we either have the damn thing still alive or we'd lost not one but two races at once, the watch had been killed and a new one got created with the same ->wd at the same address. That couldn't have happened in inotify_destroy(), but inotify_rm_wd() could run into that. Still, "new one got created" is not a problem - we have every right to kill it or leave it alone, whatever's more convenient. So we can use idr_find(...) == watch && watch->inode->i_sb == sb as "grab it and kill it" check. If it's been our original watch, we are fine, if it's a newcomer - nevermind, just pretend that we'd won the race and kill the fscker anyway; we are safe since we know that its superblock won't be going away. And yes, this is far beyond mere "not very pretty"; so's the entire concept of inotify to start with. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Greg KH <greg@kroah.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | LIS3LV02Dx: remove unused #include <version.h>Huang Weiyi2008-11-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/hwmon/lis3lv02d.c This patch removes the said #include <version.h>. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'sh/for-2.6.28' of ↵Linus Torvalds2008-11-1515-32/+108
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: serial: sh-sci: Reorder the SCxTDR write after the TDxE clear. sh: __copy_user function can corrupt the stack in case of exception sh: Fixed the TMU0 reload value on resume sh: Don't factor in PAGE_OFFSET for valid_phys_addr_range() check. sh: early printk port type fix i2c: fix i2c-sh_mobile rx underrun sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB. usb: r8a66597-hcd: fix wrong data access in SuperH on-chip USB fix sci type for SH7723 serial: sh-sci: fix cannot work SH7723 SCIFA sh: Handle fixmap TLB eviction more coherently.
| * | | serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.Paul Mundt2008-11-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under qemu there is a race between the TDxE read-and-clear and the SCxTDR write. While on hardware it can be gauranteed that the read-and-clear will happen prior to the character being written out, no such assumption can be made under emulation. As this path happens with IRQs off and the hardware itself doesn't care about the ordering, move the SCxTDR write until after the read-and-clear. Signed-off-by: Vladimir Prus <vladimir@codesourcery.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: __copy_user function can corrupt the stack in case of exceptionStuart MENEFY2008-11-131-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The __copy_user function can corrupt the stack in the case of a non-trivial length of data, and either of the first two move instructions cause an exception. This is because the fixup for these two instructions is mapped to the no_pop case, but these instructions execute after the stack is pushed. This change creates an explicit NO_POP exception mapping macro, and uses it for the two instructions executed in the trivial case where no stack pushes occur. More information at ST Linux bugzilla: https://bugzilla.stlinux.com/show_bug.cgi?id=4824 Signed-off-by: Dylan Reid <dylan_reid@bose.com> Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fixed the TMU0 reload value on resumeFrancesco VIRLINZI2008-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the TMU0 interrupt frequency on suspend/resume. During the resume the kernel reprograms the TMU0.ClockEvent mode but if the mode is periodic than the TMU0.TCOR is updated with a random wrong value without taking care latest valid saved value. There was no problem with No_HZ system where TMU0.TCOR isn't used. Signed-off-by: Francesco M. Virlinzi <francesco.virlinzi@st.com> Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Don't factor in PAGE_OFFSET for valid_phys_addr_range() check.Paul Mundt2008-11-131-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: early printk port type fixMagnus Damm2008-11-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add PORT_SCIF to unbreak the early printk code. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | i2c: fix i2c-sh_mobile rx underrunMagnus Damm2008-11-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix receive path underrun in i2c-sh_mobile driver. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB.Paul Mundt2008-11-124-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the PMB enabled, only P1SEG and up are covered by the PMB mappings, meaning that situations where out-of-bounds physical addresses are read from will lead to TLB reset after the PMB miss, allowing for use cases like dd if=/dev/mem to reset the TLB. Fix this up to make sure the reference is between __MEMORY_START (phys) and __pa(high_memory). This is coherent across all variants of sh/sh64 with and without MMU, though the PMB bug itself is only applicable to SH-4A parts. Reported-by: Hideo Saito <saito@densan.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | usb: r8a66597-hcd: fix wrong data access in SuperH on-chip USBYoshihiro Shimoda2008-11-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I used SuperH on-chip USB, there was the problem that accessed r8a66597_root_hub which was not allocated. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>