The patch titled revert "keyspan: init termios properly" has been added to the -mm tree. Its filename is revert-keyspan-init-termios-properly.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: revert "keyspan: init termios properly" From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Revert 7eea436433b7b18045f272562e256976f593f7c0. Lucy said: This patch will work with the 19HS but WILL BREAK all other Keyspan adapters. It will take me a few days to get to looking at a correct fix but that keyspan_send_setup(port, 1) (and the '1' is the important part) must happen once when the port is first opened. The cflag can just be set to whatever the normal default is for your serial environment. So revert this again pending the proper fix. Cc: Borislav Petkov <bbpetkov@xxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Cc: Lucy McCoy <lucy@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/usb/serial/keyspan.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff -puN drivers/usb/serial/keyspan.c~revert-keyspan-init-termios-properly drivers/usb/serial/keyspan.c --- a/drivers/usb/serial/keyspan.c~revert-keyspan-init-termios-properly +++ a/drivers/usb/serial/keyspan.c @@ -1215,12 +1215,14 @@ static int keyspan_chars_in_buffer (stru static int keyspan_open (struct usb_serial_port *port, struct file *filp) { - struct keyspan_port_private *p_priv; - struct keyspan_serial_private *s_priv; - struct usb_serial *serial = port->serial; + struct keyspan_port_private *p_priv; + struct keyspan_serial_private *s_priv; + struct usb_serial *serial = port->serial; const struct keyspan_device_details *d_details; int i, err; + int baud_rate, device_port; struct urb *urb; + unsigned int cflag; s_priv = usb_get_serial_data(serial); p_priv = usb_get_serial_port_data(port); @@ -1263,6 +1265,30 @@ static int keyspan_open (struct usb_seri /* usb_settoggle(urb->dev, usb_pipeendpoint(urb->pipe), usb_pipeout(urb->pipe), 0); */ } + /* get the terminal config for the setup message now so we don't + * need to send 2 of them */ + + cflag = port->tty->termios->c_cflag; + device_port = port->number - port->serial->minor; + + /* Baud rate calculation takes baud rate as an integer + so other rates can be generated if desired. */ + baud_rate = tty_get_baud_rate(port->tty); + /* If no match or invalid, leave as default */ + if (baud_rate >= 0 + && d_details->calculate_baud_rate(baud_rate, d_details->baudclk, + NULL, NULL, NULL, device_port) == KEYSPAN_BAUD_RATE_OK) { + p_priv->baud = baud_rate; + } + + /* set CTS/RTS handshake etc. */ + p_priv->cflag = cflag; + p_priv->flow_control = (cflag & CRTSCTS)? flow_cts: flow_none; + + keyspan_send_setup(port, 1); + //mdelay(100); + //keyspan_set_termios(port, NULL); + return (0); } _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are origin.patch uml-update-address-space-affected-by-pud_clear.patch proc-fix-proc_kill_inodes-to-kill-dentries-on-all-proc-superblocks.patch acpi-make-acpi_procfs-default-to-y.patch hugetlb-split-alloc_huge_page-into-private-and-shared-components.patch revert-task-control-groups-example-cpu-accounting-subsystem.patch mips-undo-locking-on-error-path-returns.patch pidns-place-under-config_experimental.patch fix-64kb-blocksize-in-ext3-directories.patch file-capabilities-allow-sigcont-within-session-v2.patch keyspan-init-termios-properly.patch x86-disable-preemption-in-delay_tsc.patch aic94xx_sds-rename-flash_size.patch cris-build-fixes-atomich-needs-compilerh-fix.patch cris-build-fixes-update-eth_v10c-ethernet-driver-fix.patch cris-remove-mtd_amstd-and-mtd_obsolete_chips-take-two.patch fix-boot-problem-with-iseries-lacking-hugepage-support-fix.patch revert-keyspan-init-termios-properly.patch get_task_comm-return-the-result.patch clone-prepare-to-recycle-clone_detached-and-clone_stopped.patch clone-prepare-to-recycle-clone_detached-and-clone_stopped-fix.patch git-acpi-fixup.patch acpi-enable-c3-power-state-on-dell-inspiron-8200-fix.patch acpi-add-reboot-mechanism.patch small-acpica-extension-to-be-able-to-store-the-name-of.patch git-alsa.patch working-3d-dri-intel-agpko-resume-for-i815-chip.patch git-arm.patch agk-dm-dm-ioctl-move-compat-code-fix.patch git-drm-oops-fix.patch git-dvb.patch ia64-slim-down-__clear_bit_unlock-checkpatch-fixes.patch elantech-touchpad-driver-fix.patch cscope-build-warning.patch git-kvm.patch git-libata-all.patch drivers-ata-libata-ehc-fix-printk-warning.patch pata_hpt37x-fix-outstanding-bug-reports-on-the-hpt374-and-37x-cable-detect-checkpatch-fixes.patch ide-arm-hack.patch git-mmc.patch git-mtd.patch git-netdev-all.patch ucc_geth-fix-build-break-introduced-by-commit-09f75cd7bf13720738e6a196cc0107ce9a5bd5a0-checkpatch-fixes.patch update-smc91x-driver-with-arm-versatile-board-info.patch bluetooth-uninlining.patch nfs-stop-sillyname-renames-and-unmounts-from-racing.patch nfs-stop-sillyname-renames-and-unmounts-from-racing-fix.patch nfs-stop-sillyname-renames-and-unmounts-from-racing-fix-fix.patch git-nfsd-fixup.patch quirk_vialatency-omit-reading-pci-revision-id-checkpatch-fixes.patch git-s390.patch fix-build-breakage-if-sysfs-fix.patch ips-trim-trailing-whitespace-checkpatch-fixes.patch scsi-gdth-kill-unneeded-irq-argument-checkpatch-fixes.patch scsi-fix-bugs-and-canonicalize-ncr5380_intr-drivers-checkpatch-fixes.patch bidi-support-scsi_data_buffer-broke-qla1280.patch bidi-support-scsi_data_buffer-broke-lots-of-stuff.patch git-unionfs.patch vfs-swap-do_ioctl-and-vfs_ioctl-names-fix.patch git-wireless.patch jiffies_round-jiffies_round_relative-conversion-rt2x00-checkpatch-fixes.patch git-ipwireless_cs.patch git-x86.patch git-x86-broke-lguest.patch git-x86-broke-xen-too.patch git-x86-inlining-borkage.patch oprofile-op_model_athalonc-support-for-amd-family10h-barcelona-performance-counters-checkpatch-fixes.patch i386-and-x86_64-randomize-brk-fix.patch x86-arch_register_cpu-section-fix.patch git-cryptodev.patch x86-early_quirks-cleanup.patch ia64-increase-datapatch-offset.patch ia64-dont-assume-that-unwcheckpy-is-executable.patch ia64-export-copy_page-to-modules.patch ia64-export-copy_page-to-modules-fix.patch pagecache-zeroing-zero_user_segment-zero_user_segments-and-zero_user-fix.patch pagecache-zeroing-zero_user_segment-zero_user_segments-and-zero_user-fix-2.patch i386-resolve-dependency-of-asm-i386-pgtableh-on-highmemh-checkpatch-fixes.patch slub-fix-coding-style-violations-checkpatch-fixes.patch slub-provide-unique-end-marker-for-each-slab-fix.patch slub-do-our-own-locking-via-slab_lock-and-slab_unlock-checkpatch-fixes.patch bufferhead-revert-constructor-removal-checkpatch-fixes.patch maps4-rework-task_size-macros-mips-fix.patch maps4-make-page-monitoring-proc-file-optional-fix.patch vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch vm-dont-run-touch_buffer-during-buffercache-lookups.patch revert-capabilities-clean-up-file-capability-reading.patch revert-capabilities-clean-up-file-capability-reading-checkpatch-fixes.patch add-64-bit-capability-support-to-the-kernel-checkpatch-fixes.patch add-64-bit-capability-support-to-the-kernel-fix.patch alpha-atomic_add_return-should-return-int.patch pm-qos-infrastructure-and-interface.patch pm-qos-infrastructure-and-interface-static-initialization-with-blocking-notifiers.patch uml-get-rid-of-asmlinkage-checkpatch-fixes.patch uml-improve-detection-of-host-cmov-checkpatch-fixes.patch uml-further-bugsc-tidying-checkpatch-fixes.patch deprecate-smbfs-in-favour-of-cifs.patch procfs-detect-duplicate-names.patch kernel-printkc-concerns-about-the-console-handover.patch fix-versus-precedence-in-various-places-checkpatch-fixes.patch pie-executable-randomization.patch pie-executable-randomization-uninlining.patch pie-executable-randomization-checkpatch-fixes.patch riscom8-fix-smp-brokenness-fix.patch use-macros-instead-of-task_-flags-checkpatch-fixes.patch sound-oss-pss-set_io_base-always-returns-success-mark-it-void-checkpatch-fixes.patch remove-warnings-for-longstanding-conditions-fix.patch parallel-port-convert-port_mutex-to-the-mutex-api-checkpatch-fixes.patch remove-support-for-un-needed-_extratext-section-checkpatch-fixes.patch allow-auto-destruction-of-loop-devices-checkpatch-fixes.patch remove-__attribute_used__-checkpatch-fixes.patch read_current_time-cleanups.patch read_current_time-cleanups-build-fix-fix.patch sync_sb_inodes-propagate-errors.patch mcp23s08-spi-gpio-expander-checkpatch-fixes.patch 64-bit-i_version-afs-fixes.patch kill-filp_open-checkpatch-fixes.patch rename-open_namei-to-open_pathname-fix.patch r-o-bind-mounts-elevate-write-count-during-entire-ncp_ioctl-fix.patch r-o-bind-mounts-elevate-write-count-for-do_utimes.patch r-o-bind-mounts-elevate-write-count-for-some-ioctls-checkpatch-fixes.patch r-o-bind-mounts-elevate-write-count-for-some-ioctls-vs-forbid-user-to-change-file-flags-on-quota-files.patch r-o-bind-mounts-nfs-check-mnt-instead-of-superblock-directly-checkpatch-fixes.patch r-o-bind-mounts-track-number-of-mount-writer-fix-buggy-loop-checkpatch-fixes.patch slab-api-remove-useless-ctor-parameter-and-reorder-parameters-vs-revoke.patch revoke-wire-up-i386-system-calls.patch revoke-vs-git-block.patch cgroup-simplify-space-stripping-fix.patch memory-controller-memory-accounting-v7.patch memory-controller-add-per-container-lru-and-reclaim-v7.patch memory-controller-oom-handling-v7.patch memory-controller-add-switch-to-control-what-type-of-pages-to-limit-v7.patch memcontrol-move-oom-task-exclusion-to-tasklist.patch memory-cgroup-enhancements-add-status-accounting-function-for-memory-cgroup-checkpatch-fixes.patch memory-cgroup-enhancements-add-status-accounting-function-for-memory-cgroup-fix-1.patch memory-cgroup-enhancements-add-status-accounting-function-for-memory-cgroup-uninlining.patch memory-cgroup-enhancements-add-status-accounting-function-for-memory-cgroup-fix-2.patch memory-cgroup-enhancements-add-memorystat-file-checkpatch-fixes.patch memory-cgroup-enhancements-add-memorystat-file-printk-fix.patch drivers-edac-add-marvell-mv64x60-driver-fix.patch introduce-flags-for-reserve_bootmem-checkpatch-fixes.patch iget-stop-affs-from-using-iget-and-read_inode-try-checkpatch-fixes.patch iget-stop-efs-from-using-iget-and-read_inode-try-checkpatch-fixes.patch iget-stop-ext2-from-using-iget-and-read_inode-try-checkpatch-fixes.patch iget-stop-ext3-from-using-iget-and-read_inode-try-checkpatch-fixes.patch iget-stop-freevxfs-from-using-iget-and-read_inode-checkpatch-fixes.patch iget-stop-the-minix-filesystem-from-using-iget-and-checkpatch-fixes.patch iget-stop-procfs-from-using-iget-and-read_inode-checkpatch-fixes.patch iget-stop-qnx4-from-using-iget-and-read_inode-try-checkpatch-fixes.patch iget-stop-romfs-from-using-iget-and-read_inode-checkpatch-fixes.patch iget-stop-the-sysv-filesystem-from-using-iget-and-checkpatch-fixes.patch iget-stop-ufs-from-using-iget-and-read_inode-try-checkpatch-fixes.patch iget-stop-hostfs-from-using-iget-and-read_inode-checkpatch-fixes.patch embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-checkpatch-fixes.patch one-less-parameter-to-__d_path-checkpatch-fixes.patch d_path-use-struct-path-in-struct-avc_audit_data-checkpatch-fixes.patch d_path-make-get_dcookie-use-a-struct-path-argument-checkpatch-fixes.patch use-struct-path-in-struct-svc_export-checkpatch-fixes.patch suppress-aout-library-support-if-config_binfmt_aout-checkpatch-fixes.patch usb-net2280-cant-have-a-function-called-checkpatch-fixes.patch mn10300-add-the-mn10300-am33-architecture-to-the-kernel-fix.patch mn10300-add-the-mn10300-am33-architecture-to-the-kernel-ia64-fix.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch reiser4.patch jens-broke-reiser4patch-added-to-mm-tree.patch page-owner-tracking-leak-detector.patch nr_blockdev_pages-in_interrupt-warning.patch slab-leaks3-default-y.patch profile-likely-unlikely-macros-fix.patch put_bh-debug.patch kmap_atomic-debugging.patch shrink_slab-handle-bad-shrinkers.patch getblk-handle-2tb-devices.patch getblk-handle-2tb-devices-fix.patch w1-build-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html