- Apr 09, 2012
-
-
Yuriy Kozlov authored
Follow altera_jtag_uart. This fixes a crash if there is a mistake in the DTS. Signed-off-by:
Yuriy Kozlov <ykozlov@ptcusa.com> Signed-off-by:
Tobias Klauser <tklauser@distanz.ch> Cc: stable <stable@vger.kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti D authored
The patch does the following - The pm_runtime_disable is called in the remove not in the error case of probe.The patch calls the pm_runtime_disable in the error case. - Calls pm_runtime_put in the error case. - The up is not freed in the error path. Fix the memory leak by using devm_* so that the memory need not be freed in the driver. - Also the iounmap is not called fix the same by calling using devm_ioremap. - Make the name of the error tags more meaningful. Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Govindraj.R <govindraj.raja@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- Apr 06, 2012
-
-
Linus Walleij authored
Commit 360f748b204275229f8398cb2f9f53955db1503b "serial: PL011: clear pending interrupts" attempts to clear interrupts by writing to a yet-unassigned memory address. This fixes the issue. The breaking patch is marked for stable so should be carried along with the other patch. Cc: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: stable <stable@vger.kernel.org> Cc: Nicolas Pitre <nico@fluxnic.net> Reported-by:
Viresh Kumar <viresh.kumar@st.com> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Tested-by:
Grant Likely <grant.likely@secretlab.ca> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- Mar 30, 2012
-
-
Lucas De Marchi authored
Usage of /etc/modprobe.conf file was deprecated by module-init-tools and is no longer parsed by new kmod tool. References to this file are replaced in Documentation, comments and Kconfig according to the context. There are also some references to the old /etc/modules.conf from 2.4 kernels that are being removed. Signed-off-by:
Lucas De Marchi <lucas.demarchi@profusion.mobi> Acked-by:
Takashi Iwai <tiwai@suse.de> Acked-by:
Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by:
Randy Dunlap <rdunlap@xenotime.net> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Mar 28, 2012
-
-
David Howells authored
Remove all #inclusions of asm/system.h preparatory to splitting and killing it. Performed with the following command: perl -p -i -e 's!^#\s*include\s*<asm/system[.]h>.*\n!!' `grep -Irl '^#\s*include\s*<asm/system[.]h>' *` Signed-off-by:
David Howells <dhowells@redhat.com>
-
David Howells authored
Disintegrate asm/system.h for Sparc. Signed-off-by:
David Howells <dhowells@redhat.com> cc: sparclinux@vger.kernel.org
-
David Howells authored
Disintegrate asm/system.h for CRIS. Signed-off-by:
David Howells <dhowells@redhat.com> Acked-by:
Jesper Nilsson <jesper.nilsson@axis.com> cc: linux-cris-kernel@axis.com
-
David Howells authored
Disintegrate asm/system.h for ARM. Signed-off-by:
David Howells <dhowells@redhat.com> cc: Russell King <linux@arm.linux.org.uk> cc: linux-arm-kernel@lists.infradead.org
-
Takashi YOSHII authored
When DMA is enabled, sh-sci transfer begins with uart_start() sci_start_tx() if (cookie_tx < 0) schedule_work() Then, starts DMA when wq scheduled, -- (A) process_one_work() work_fn_rx() cookie_tx = desc->submit_tx() And finishes when DMA transfer ends, -- (B) sci_dma_tx_complete() async_tx_ack() cookie_tx = -EINVAL (possible another schedule_work()) This A to B sequence is not reentrant, since controlling variables (for example, cookie_tx above) are not queues nor lists. So, they must be invoked as A B A B..., otherwise results in kernel crash. To ensure the sequence, sci_start_tx() seems to test if cookie_tx < 0 (represents "not used") to call schedule_work(). But cookie_tx will not be set (to a cookie, also means "used") until in the middle of work queue scheduled function work_fn_tx(). This gap between the test and set allows the breakage of the sequence under the very frequently call of uart_start(). Another gap between async_tx_ack() and another schedule_work() results in the same issue, too. This patch introduces a new condition "cookie_tx == 0" just to mark it is "busy" and assign it within spin-locked region to fill the gaps. Signed-off-by:
Takashi Yoshii <takashi.yoshii.zj@renesas.com> Reviewed-by:
Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: stable@vger.kernel.org Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
Benjamin Herrenschmidt authored
This makes vio_register_driver() get the module owner & name at compile time like PCI drivers do, and adds a name pointer directly in struct vio_driver to avoid having to explicitly initialize the embedded struct device. Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
David S. Miller <davem@davemloft.net>
-
- Mar 25, 2012
-
-
Rob Herring authored
In preparation to convert SA1100 to sparse irq, set .nr_irqs for each machine and explicitly include mach/irqs.h as needed. Signed-off-by:
Rob Herring <rob.herring@calxeda.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-
- Mar 22, 2012
-
-
David Rientjes authored
The oom killer chooses not to kill a thread if: - an eligible thread has already been oom killed and has yet to exit, and - an eligible thread is exiting but has yet to free all its memory and is not the thread attempting to currently allocate memory. SysRq+F manually invokes the global oom killer to kill a memory-hogging task. This is normally done as a last resort to free memory when no progress is being made or to test the oom killer itself. For both uses, we always want to kill a thread and never defer. This patch causes SysRq+F to always kill an eligible thread and can be used to force a kill even if another oom killed thread has failed to exit. Signed-off-by:
David Rientjes <rientjes@google.com> Acked-by:
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Acked-by:
Pekka Enberg <penberg@kernel.org> Acked-by:
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Mar 21, 2012
-
-
Alexandre Bounine authored
Add inline wrappers for device_prep_slave_sg() and device_prep_dma_cyclic() interfaces to hide new parameter from current users of affected interfaces. Convert current users to use new wrappers instead of direct calls. Suggested by Russell King [https://lkml.org/lkml/2012/2/3/269 ]. Signed-off-by:
Alexandre Bounine <alexandre.bounine@idt.com> Signed-off-by:
Vinod Koul <vinod.koul@linux.intel.com>
-
Stephen Rothwell authored
so remove the code that tests for it. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Mar 15, 2012
-
-
Benjamin Herrenschmidt authored
Also while at it, add some help text indicating why you shouldn't enable that driver under normal circumstances Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Philipp Zabel authored
This patch adds clk_prepare/clk_unprepare calls to the serial/pxa driver by using the helper functions clk_prepare_enable and clk_disable_unprepare. Signed-off-by:
Philipp Zabel <philipp.zabel@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@marvell.com> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Liz Clark authored
Bugzilla 40012: PIO_UNIMAP bug: error updating Unicode-to-font map https://bugzilla.kernel.org/show_bug.cgi?id=40012 The unicode font map for the virtual console is a 32x32x64 table which allocates rows dynamically as entries are added. The unicode value increases sequentially and should count all entries even in empty rows. The defect is when copying the unicode font map in con_set_unimap(), the unicode value is not incremented properly. The wrong unicode value is entered in the new font map. Signed-off-by:
Liz Clark <liz.clark@hp.com> Cc: stable <stable@vger.kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- Mar 14, 2012
-
-
Linus Walleij authored
Chanho Min reported that when the boot loader transfers control to the kernel, there may be pending interrupts causing the UART to lock up in an eternal loop trying to pick tokens from the FIFO (since the RX interrupt flag indicates there are tokens) while in practice there are no tokens - in fact there is only a pending IRQ flag. This patch address the issue with a combination of two patches suggested by Russell King that clears and mask all interrupts at probe() and clears any pending error and RX interrupts at port startup time. We suspect the spurious interrupts are a side-effect of switching the UART from FIFO to non-FIFO mode. Cc: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> Reported-by:
Chanho Min <chanho0207@gmail.com> Suggested-by:
Russell King <linux@arm.linux.org.uk> Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Reviewed-by:
Jong-Sung Kim <neidhard.kim@lge.com> Cc: stable <stable@vger.kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- Mar 13, 2012
-
-
Stefano Stabellini authored
Introduce a new config option HVC_XEN_FRONTEND to enable/disable the xenbus based pv console frontend. Signed-off-by:
Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by:
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-
Stefano Stabellini authored
This patch implements support for multiple consoles: consoles other than the first one are setup using the traditional xenbus and grant-table based mechanism. We use a list to keep track of the allocated consoles, we don't expect too many of them anyway. Changes in v3: - call hvc_remove before removing the console from xenconsoles; - do not lock xencons_lock twice in the destruction path; - use the DEFINE_XENBUS_DRIVER macro. Signed-off-by:
Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by:
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-
Stefano Stabellini authored
Signed-off-by:
Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by:
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-
Sonic Zhang authored
When kernel reboot, tty circular buffer is reset before last TX DMA interrupt is called, while the buffer tail is updated in TX DMA interrupt handler. So, don't update the buffer tail if it is reset. Signed-off-by:
Sonic Zhang <sonic.zhang@analog.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- Mar 12, 2012
-
-
Dan Carpenter authored
We forgot to set the "key_map" variable here, so it's still NULL. This was introduced recently in 079c9534 "vt:tackle kbd_table". Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Jiri Slaby <jslaby@suse.cz> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Wolfram Sang authored
Fixes: WARNING: drivers/tty/serial/built-in.o(.data+0x30): Section mismatch in reference from the variable vt8500_platform_driver to the function .init.text:vt8500_serial_probe() The variable vt8500_platform_driver references the function __init vt8500_serial_probe() And mark the remove pointer while we are here. Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- Mar 09, 2012
-
-
Paul Gortmaker authored
The two callers to serial_out_sync() have a struct port right there in scope, but then pass in a struct 8250_port which then is locally resolved back to a struct port. Delete the needless back and forth and just pass in the struct port directly. Rename the function to have "_port" in its name, so the name <--> args relationship is consistent with the other serial_in/out vs serial_port_in/out function classes. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Paul Gortmaker authored
The serial_in and serial_out helpers are expecting to operate on an 8250_port struct. These in turn go after the contained normal port struct which actually has the actual in/out accessors. But what is happening in some cases, is that a function is passed in a port struct, and it runs container_of to get the 8250_port struct, and then it uses serial_in/out helpers on that. But when you do, it goes full circle, since it jumps back inside the 8250_port to find the contained port struct (which we already knew!). So, if we are operating in a scope where we know the struct port, then use the serial_port_in/out helpers and avoid the bouncing around. If we don't have the struct port handy, and it isn't worth making a local for it, then just leave things as-is which uses the serial_in/out helpers that will resolve the 8250_port onto the struct port. Mostly, gcc figures this out on its own -- so this doesn't bring to the table any revolutionary runtime delta. However, it is somewhat misleading to always hammer away on 8250 structs, when the actual underlying property isn't at all 8250 specific -- and this change makes that clear. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Paul Gortmaker authored
The serial_8250_port struct contains within a serial_port struct and many times one or the other, or both are in scope within functions via a passed in arg, or via container_of. However there are a lot of cases where we have access directly to the port pointer, but yet go through the parent 8250_port structure instead to get it. These should just use the port struct directly. Similarly there are cases where it makes sense (from a code cleanliness point of view) to declare a local for the port struct, so we aren't going through the parent 8250_port struct repeatedly to get to it. We get a small reduction in text size, but it appears that gcc was smart enough to internally be doing most of this already, so the readability improvement is the larger gain. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Paul Gortmaker authored
These might have worked some magic with an ancient gcc back in 1992, but "objdump --disassemble" on gcc 4.6 on x86-64 shows identical output before and after this commit. Send the casts and their hysterical rasins to the bitbucket. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Paul Gortmaker authored
Currently 8250.c has serial_in and serial_out as shortcuts to doing the port I/O. They are implemented as macros a ways down in the file. This isn't by accident, but is implicitly required, so cpp doesn't mangle other instances of the common string "serial_in", as it exists as a field in the port struct itself. The above mangling avoidance violates the principle of least surprise, and it also prevents the shortcuts from being relocated up to the top of file, or into 8250.h -- either being a better location than the current one. Move them to 8250.h so other 8250-like drivers can also use the shortcuts, and in the process, make the conflicting names go away by using static inlines instead of macros. The object file size remains unchanged with this modification. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Paul Gortmaker authored
This is the last traces of pausing I/O that we had back some twenty years ago. Probably was only required for 8MHz ISA cards running "on the edge" at 12MHz. Anyway it hasn't been in use for years, so lets just bury it for good. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Darren Hart authored
Document default_baud and user_uartclk module parameters. Signed-off-by:
Darren Hart <dvhart@linux.intel.com> CC: Tomoya MORINAGA <tomoya.rohm@gmail.com> CC: Feng Tang <feng.tang@intel.com> CC: Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Darren Hart authored
Rather than hardcode 9600, use the existing default_baud parameter (which also defaults to 9600). Signed-off-by:
Darren Hart <dvhart@linux.intel.com> CC: Tomoya MORINAGA <tomoya.rohm@gmail.com> CC: Feng Tang <feng.tang@intel.com> CC: Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Darren Hart authored
For cases where boards with non-default clocks are not yet added to the kernel or when the clock varies across hardware revisions, it is useful to be able to specify the UART clock on the kernel command line. Add the user_uartclk parameter and prefer it, if set, to the default and board specific UART clock settings. Specify user_uartclock on the command-line with "pch_uart.user_uartclk=48000000". Signed-off-by:
Darren Hart <dvhart@linux.intel.com> CC: Tomoya MORINAGA <tomoya.rohm@gmail.com> CC: Feng Tang <feng.tang@intel.com> CC: Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Darren Hart authored
Add support for the Fish River Island II (FRI2) UART clock following the CM-iTC quirk handling mechanism. Depending on the firmware installed on the device, the FRI2 uses a 48MHz or a 64MHz UART clock. This is detected with DMI strings. Add similar UART clock quirk handling to the pch_console_setup() function to enable kernel messages on boards with non-standard UART clocks. Per Alan's suggestion, abstract out UART clock selection into pch_uart_get_uartclk() to avoid code duplication. Signed-off-by:
Darren Hart <dvhart@linux.intel.com> CC: Tomoya MORINAGA <tomoya.rohm@gmail.com> CC: Feng Tang <feng.tang@intel.com> CC: Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Darren Hart authored
The term "base baud" refers to the fastest baud rate the device can communicate at. This is clock/16. pch_uart is using base_baud as the clock itself. Rename the variables to be semantically correct. Signed-off-by:
Darren Hart <dvhart@linux.intel.com> CC: Tomoya MORINAGA <tomoya.rohm@gmail.com> CC: Feng Tang <feng.tang@intel.com> CC: Alan Cox <alan@linux.intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Rafael J. Wysocki authored
The runtime PM of sh-sci devices is enabled when sci_probe() returns, so the pm_runtime_put_sync() executed by driver_probe_device() attempts to suspend the device. Then, in some situations, a diagnostic message is printed to the console by one of the runtime suspend routines handling the sh-sci device, which causes synchronous runtime resume to be started from the device's own runtime suspend callback. This causes rpm_resume() to be run eventually, which sees the RPM_SUSPENDING status set by rpm_suspend() and waits for it to change. However, the device's runtime PM status cannot change at that point, because the routine that has set it waits for the rpm_suspend() to return. A deadlock occurs as a result. To avoid that make sci_init_single() increment the device's runtime PM usage counter, so that it cannot be suspended by driver_probe_device(). That counter has to be decremented eventually, so make sci_startup() do that before starting to actually use the device and make sci_shutdown() increment it again before returning to balance the incrementation carried out by sci_startup(). Signed-off-by:
Rafael J. Wysocki <rjw@sisk.pl> Tested-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- Mar 08, 2012
-
-
Stephen Rothwell authored
The PowerPC legacy iSeries platform is being removed so this is no longer selectable. Cc: Alan Cox <alan@linux.intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-serial@vger.kernel.org Signed-off-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Stephen Rothwell authored
The PowerPC legacy iSeries platform is being removed, so this code is no longer needed. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Frank Benkert authored
In addition to the /32 prescaler, the MPC5200B supports a second baudrate prescaler /4 to reach higher baudrates. The current calculation (introduced with commit 0d1f22e4) in the kernel preferes this low prescaler as often as possible, but with some imprecise counterparts the communication on low baudrates fails. According a support-mail from freescale the low prescaler (/4) allows just 1% tolerance in bittiming in contrast to 4% of the high prescaler (/32). The prescaler not only affects the baudrate-calculation, but also the sampling of the bits on the wire. With this patch, we use the slightly less precise, but higher tolerant prescaler calculation on low baudrates up to (and including) 115200 baud and the more precise calculation above. Tested on a custom MPC5200B board with "fsl,mpc5200b-psc-uart". Calculation Examples with prescaler (PS) 4 and 32 and divisor (DIV) on various baudrates. Real stands for the real baudrate generated and Diff for the differences between: 50 Baud PS 32 DIV 0xa122 Real 50 Diff 0.00% 75 Baud PS 32 DIV 0x6b6c Real 75 Diff 0.00% 110 Baud PS 32 DIV 0x493e Real 110 Diff 0.00% 134 Baud PS 32 DIV 0x3c20 Real 133 Diff 0.75% 150 Baud PS 32 DIV 0x35b6 Real 150 Diff 0.00% 200 Baud PS 32 DIV 0x2849 Real 199 Diff 0.50% 300 Baud PS 4 DIV 0xd6d8 Real 300 Diff 0.00% PS 32 DIV 0x1adb Real 300 Diff 0.00% 600 Baud PS 4 DIV 0x6b6c Real 600 Diff 0.00% PS 32 DIV 0x0d6e Real 599 Diff 0.17% 1200 Baud PS 4 DIV 0x35b6 Real 1200 Diff 0.00% PS 32 DIV 0x06b7 Real 1199 Diff 0.08% 1800 Baud PS 4 DIV 0x23cf Real 1799 Diff 0.06% PS 32 DIV 0x047a Real 1799 Diff 0.06% 2400 Baud PS 4 DIV 0x1adb Real 2400 Diff 0.00% PS 32 DIV 0x035b Real 2401 Diff - 0.04% 4800 Baud PS 4 DIV 0x0d6e Real 4799 Diff 0.02% PS 32 DIV 0x01ae Real 4796 Diff 0.08% 9600 Baud PS 4 DIV 0x06b7 Real 9598 Diff 0.02% PS 32 DIV 0x00d7 Real 9593 Diff 0.07% 19200 Baud PS 4 DIV 0x035b Real 19208 Diff - 0.04% PS 32 DIV 0x006b Real 19275 Diff - 0.39% 38400 Baud PS 4 DIV 0x01ae Real 38372 Diff 0.07% PS 32 DIV 0x0036 Real 38194 Diff 0.54% 57600 Baud PS 4 DIV 0x011e Real 57692 Diff - 0.16% PS 32 DIV 0x0024 Real 57291 Diff 0.54% 76800 Baud PS 4 DIV 0x00d7 Real 76744 Diff 0.07% PS 32 DIV 0x001b Real 76388 Diff 0.54% 115200 Baud PS 4 DIV 0x008f Real 115384 Diff - 0.16% PS 32 DIV 0x0012 Real 114583 Diff 0.54% 153600 Baud PS 4 DIV 0x006b Real 154205 Diff - 0.39% PS 32 DIV 0x000d Real 158653 Diff - 3.29% 230400 Baud PS 4 DIV 0x0048 Real 229166 Diff 0.54% PS 32 DIV 0x0009 Real 229166 Diff 0.54% 307200 Baud PS 4 DIV 0x0036 Real 305555 Diff 0.54% PS 32 DIV 0x0007 Real 294642 Diff 4.09% 460800 Baud PS 4 DIV 0x0024 Real 458333 Diff 0.54% PS 32 DIV 0x0005 Real 412500 Diff 10.48% 500000 Baud PS 4 DIV 0x0021 Real 500000 Diff 0.00% PS 32 DIV 0x0004 Real 515625 Diff - 3.13% 576000 Baud PS 4 DIV 0x001d Real 568965 Diff 1.22% PS 32 DIV 0x0004 Real 515625 Diff 10.48% 614400 Baud PS 4 DIV 0x001b Real 611111 Diff 0.54% PS 32 DIV 0x0003 Real 687500 Diff -11.90% 921600 Baud PS 4 DIV 0x0012 Real 916666 Diff 0.54% PS 32 DIV 0x0002 Real 1031250 Diff -11.90% 1000000 Baud PS 4 DIV 0x0011 Real 970588 Diff 2.94% PS 32 DIV 0x0002 Real 1031250 Diff - 3.13% 1152000 Baud PS 4 DIV 0x000e Real 1178571 Diff - 2.31% PS 32 DIV 0x0002 Real 1031250 Diff 10.48% 1500000 Baud PS 4 DIV 0x000b Real 1500000 Diff 0.00% PS 32 DIV 0x0001 Real 2062500 Diff -37.50% 2000000 Baud PS 4 DIV 0x0008 Real 2062500 Diff - 3.13% PS 32 DIV 0x0001 Real 2062500 Diff - 3.13% 2500000 Baud PS 4 DIV 0x0007 Real 2357142 Diff 5.71% PS 32 DIV 0x0001 Real 2062500 Diff 17.50% 3000000 Baud PS 4 DIV 0x0006 Real 2750000 Diff 8.33% PS 32 DIV 0x0001 Real 2062500 Diff 31.25% 3500000 Baud PS 4 DIV 0x0005 Real 3300000 Diff 5.71% PS 32 DIV 0x0001 Real 2062500 Diff 41.07% 4000000 Baud PS 4 DIV 0x0004 Real 4125000 Diff - 3.13% PS 32 DIV 0x0001 Real 2062500 Diff 48.44% Signed-off-by:
Frank Benkert <frank.benkert@avat.de> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Dan Carpenter authored
This is supposed to be doing a shift before the comparison instead of just doing a bitwise AND directly. The current code means the start() just returns without doing anything. Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Acked-by:
Jiri Slaby <jslaby@suse.cz> Cc: stable <stable@vger.kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-