On Friday 29 June 2007, Michael P. Cosby wrote:
>       I'm not sure if this is the correct place to followup to this, but a 
> quick
>google search didn't give me a related bug database for this issue. This is
> in response to the patch posted in this message:
>
>http://lists.zerezo.com/linux-usb-devel/msg20582.html
>(the "correct" but much slower link is:
>http://sourceforge.net/mailarchive/message.php?msg_name=200706041123.30113.o
>liver%40neukum.org )
>
>       I ran into what appears to be the same problem the original poster had 
> on
>2.6.21.5 (the original poster was using 2.6.21.3). My kernel boot messages
> are below. The patch solved the issue for me and for the last 20 minutes at
> least my USB-UIRT is working perfectly (the kernel panic was on boot),
> although I obviously can't attest to the long-term stabiility of the
> changes. I did have to manually apply the first hunk (of 8) of the patch,
> so I'm attaching a diff against 2.6.21.5 below, also.
>
>- Michael
>
I was gonna give this a shot to see if it would fix the finickyness of the 
ftdi serial adaptors, but its got a load of leading white space that prevents 
it from applying. (with patch that is)
>New Diff:
>--- linux-2.6.21.5/drivers/usb/serial/ftdi_sio.c.orig  2007-06-11
> 13:37:06.000000000 -0500 +++
> linux-2.6.21.5/drivers/usb/serial/ftdi_sio.c  2007-06-29 22:22:18.000000000
> -0500 @@ -271,20 +271,54 @@
>  static __u16 vendor = FTDI_VID;
>  static __u16 product;
 ^^ <-here, the two lines above have no indent in any ftdi_sio.c file I looked 
at
>+
>+struct ftdi_private {
>+   ftdi_chip_type_t chip_type;
>+               /* type of the device, either SIO or FT8U232AM */
>+   int baud_base;      /* baud base clock for divisor setting */
>+   int custom_divisor; /* custom_divisor kludge, this is for baud_base
> (different from what goes to the chip!) */ +   __u16
> last_set_data_urb_value ;
>+               /* the last data state set - needed for doing a break */
>+        int write_offset;       /* This is the offset in the usb data block
> to write the serial data - +                * it is different between
> devices
>+                */
>+   int flags;      /* some ASYNC_xxxx flags are supported */
>+   unsigned long last_dtr_rts; /* saved modem control outputs */
>+        wait_queue_head_t delta_msr_wait; /* Used for TIOCMIWAIT */
>+   char prev_status, diff_status;        /* Used for TIOCMIWAIT */
>+   __u8 rx_flags;      /* receive state flags (throttling) */
>+   spinlock_t rx_lock; /* spinlock for receive state */
>+   struct delayed_work rx_work;
>+   struct usb_serial_port *port;
>+   int rx_processed;
>+   unsigned long rx_bytes;
>+
>+   __u16 interface;    /* FT2232C port interface (0 for FT232/245) */
>+
>+   int force_baud;     /* if non-zero, force the baud rate to this value */
>+   int force_rtscts;   /* if non-zero, force RTS-CTS to always be enabled
> */ +
>+   spinlock_t tx_lock; /* spinlock for transmit state */
>+   unsigned long tx_bytes;
>+   unsigned long tx_outstanding_bytes;
>+   unsigned long tx_outstanding_urbs;
>+};
>+
>  /* struct ftdi_sio_quirk is used by devices requiring special attention.
> */ struct ftdi_sio_quirk {
>       void (*setup)(struct usb_serial *); /* Special settings during startup.
> */ +  void (*port_probe)(struct ftdi_private *); /* Special settings for
> probed ports. */ };
>
>-static void  ftdi_USB_UIRT_setup      (struct usb_serial *serial);
>-static void  ftdi_HE_TIRA1_setup      (struct usb_serial *serial);
>+static void  ftdi_USB_UIRT_setup      (struct ftdi_private *priv);
>+static void  ftdi_HE_TIRA1_setup      (struct ftdi_private *priv);
>
>  static struct ftdi_sio_quirk ftdi_USB_UIRT_quirk = {
>-      .setup = ftdi_USB_UIRT_setup,
>+      .port_probe = ftdi_USB_UIRT_setup,
>  };
>
>  static struct ftdi_sio_quirk ftdi_HE_TIRA1_quirk = {
>-      .setup = ftdi_HE_TIRA1_setup,
>+      .port_probe = ftdi_HE_TIRA1_setup,
>  };
>
>  /*
>@@ -555,38 +589,6 @@
>  #define THROTTLED            0x01
>  #define ACTUALLY_THROTTLED   0x02
 ^^ and here.  There is more below as all 8 hunks failed.

Or, am I using patch wrong?

>-struct ftdi_private {
>-      ftdi_chip_type_t chip_type;
>-                              /* type of the device, either SIO or FT8U232AM 
>*/
>-      int baud_base;          /* baud base clock for divisor setting */
>-      int custom_divisor;     /* custom_divisor kludge, this is for baud_base
> (different from what goes to the chip!) */ -  __u16 last_set_data_urb_value
> ;
>-                              /* the last data state set - needed for doing a 
>break */
>-        int write_offset;       /* This is the offset in the usb data block
> to write the serial data - -                           * it is different 
> between devices
>-                               */
>-      int flags;              /* some ASYNC_xxxx flags are supported */
>-      unsigned long last_dtr_rts;     /* saved modem control outputs */
>-        wait_queue_head_t delta_msr_wait; /* Used for TIOCMIWAIT */
>-      char prev_status, diff_status;        /* Used for TIOCMIWAIT */
>-      __u8 rx_flags;          /* receive state flags (throttling) */
>-      spinlock_t rx_lock;     /* spinlock for receive state */
>-      struct delayed_work rx_work;
>-      struct usb_serial_port *port;
>-      int rx_processed;
>-      unsigned long rx_bytes;
>-
>-      __u16 interface;        /* FT2232C port interface (0 for FT232/245) */
>-
>-      int force_baud;         /* if non-zero, force the baud rate to this 
>value */
>-      int force_rtscts;       /* if non-zero, force RTS-CTS to always be 
>enabled */
>-
>-      spinlock_t tx_lock;     /* spinlock for transmit state */
>-      unsigned long tx_bytes;
>-      unsigned long tx_outstanding_bytes;
>-      unsigned long tx_outstanding_urbs;
>-};
>-
>  /* Used for TIOCMIWAIT */
>  #define FTDI_STATUS_B0_MASK  (FTDI_RS0_CTS | FTDI_RS0_DSR | FTDI_RS0_RI |
> FTDI_RS0_RLSD) #define FTDI_STATUS_B1_MASK    (FTDI_RS_BI)
>@@ -597,7 +599,6 @@
>
>  /* function prototypes for a FTDI serial converter */
>  static int  ftdi_sio_probe   (struct usb_serial *serial, const struct
> usb_device_id *id); -static int  ftdi_sio_attach              (struct 
> usb_serial
> *serial);
>  static void ftdi_shutdown            (struct usb_serial *serial);
>  static int  ftdi_sio_port_probe      (struct usb_serial_port *port);
>  static int  ftdi_sio_port_remove     (struct usb_serial_port *port);
>@@ -651,7 +652,6 @@
>       .ioctl =                ftdi_ioctl,
>       .set_termios =          ftdi_set_termios,
>       .break_ctl =            ftdi_break_ctl,
>-      .attach =               ftdi_sio_attach,
>       .shutdown =             ftdi_shutdown,
>  };
>
>@@ -1178,6 +1178,8 @@
>  static int ftdi_sio_port_probe(struct usb_serial_port *port)
>  {
>       struct ftdi_private *priv;
>+      struct ftdi_sio_quirk *quirk = usb_get_serial_data(port->serial);
>+
>
>       dbg("%s",__FUNCTION__);
>
>@@ -1194,6 +1196,9 @@
>          than queue a task to deliver them */
>       priv->flags = ASYNC_LOW_LATENCY;
>
>+      if (quirk && quirk->port_probe)
>+              quirk->port_probe(priv);
>+
>       /* Increase the size of read buffers */
>       kfree(port->bulk_in_buffer);
>       port->bulk_in_buffer = kmalloc (BUFSZ, GFP_KERNEL);
>@@ -1224,29 +1229,13 @@
>       return 0;
>  }
>
>-/* attach subroutine */
>-static int ftdi_sio_attach (struct usb_serial *serial)
>-{
>-      /* Check for device requiring special set up. */
>-      struct ftdi_sio_quirk *quirk = usb_get_serial_data(serial);
>-
>-      if (quirk && quirk->setup)
>-              quirk->setup(serial);
>-
>-      return 0;
>-} /* ftdi_sio_attach */
>-
>-
>  /* Setup for the USB-UIRT device, which requires hardwired
>   * baudrate (38400 gets mapped to 312500) */
>  /* Called from usbserial:serial_probe */
>-static void ftdi_USB_UIRT_setup (struct usb_serial *serial)
>+static void ftdi_USB_UIRT_setup (struct ftdi_private *priv)
>  {
>-      struct ftdi_private *priv;
>-
>       dbg("%s",__FUNCTION__);
>
>-      priv = usb_get_serial_port_data(serial->port[0]);
>       priv->flags |= ASYNC_SPD_CUST;
>       priv->custom_divisor = 77;
>       priv->force_baud = B38400;
>@@ -1254,13 +1243,10 @@
>
>  /* Setup for the HE-TIRA1 device, which requires hardwired
>   * baudrate (38400 gets mapped to 100000) and RTS-CTS enabled.  */
>-static void ftdi_HE_TIRA1_setup (struct usb_serial *serial)
>+static void ftdi_HE_TIRA1_setup (struct ftdi_private *priv)
>  {
>-      struct ftdi_private *priv;
>-
>       dbg("%s",__FUNCTION__);
>
>-      priv = usb_get_serial_port_data(serial->port[0]);
>       priv->flags |= ASYNC_SPD_CUST;
>       priv->custom_divisor = 240;
>       priv->force_baud = B38400;
>
>-- END OF PATCH
>
>
>My Kernel Panic (before the patch):
>[    0.000000] Linux version 2.6.21.5 ([EMAIL PROTECTED]) (gcc version 4.1.2
> 20061115 (prerelease) (Debian 4.1.1-21)) #2 SMP PREEMPT Fri Jun 29 21:28:39
> CDT 2007 [    0.000000] Command line: root=/dev/hda1 ro
> [EMAIL PROTECTED]/eth0,[EMAIL PROTECTED]/00:1B:77:1C:66:E0
> [    0.000000] BIOS-provided physical RAM map:
>[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
>[    0.000000]  BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
>[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
>[    0.000000]  BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
>[    0.000000]  BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
>[    0.000000]  BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
>[    0.000000]  BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
>[    0.000000]  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
>[    0.000000] end_pfn_map = 1048576
>[    0.000000] DMI 2.2 present.
>[    0.000000] ACPI: RSDP 000F7A50, 0014 (r0 Nvidia)
>[    0.000000] ACPI: RSDT 3FFF3040, 0034 (r1 Nvidia AWRDACPI 42302E31 AWRD  
>      0) [    0.000000] ACPI: FACP 3FFF30C0, 0074 (r1 Nvidia AWRDACPI
> 42302E31 AWRD        0) [    0.000000] ACPI: DSDT 3FFF3180, 6897 (r1 NVIDIA
> AWRDACPI     1000 MSFT  100000E) [    0.000000] ACPI: FACS 3FFF0000, 0040
>[    0.000000] ACPI: SSDT 3FFF9B40, 0248 (r1 PTLTD  POWERNOW        1  LTP  
>      1) [    0.000000] ACPI: MCFG 3FFF9E00, 003C (r1 Nvidia AWRDACPI
> 42302E31 AWRD        0) [    0.000000] ACPI: APIC 3FFF9A80, 0072 (r1 Nvidia
> AWRDACPI 42302E31 AWRD        0) [    0.000000] Zone PFN ranges:
>[    0.000000]   DMA             0 ->     4096
>[    0.000000]   DMA32        4096 ->  1048576
>[    0.000000]   Normal    1048576 ->  1048576
>[    0.000000] early_node_map[2] active PFN ranges
>[    0.000000]     0:        0 ->      159
>[    0.000000]     0:      256 ->   262128
>[    0.000000] Nvidia board detected. Ignoring ACPI timer override.
>[    0.000000] If you got timer trouble try acpi_use_timer_override
>[    0.000000] ACPI: PM-Timer IO Port: 0x1008
>[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
>[    0.000000] Processor #0 (Bootup-CPU)
>[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
>[    0.000000] Processor #1
>[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
>[   17.764259] nvidiafb: PCI nVidia NV16 framebuffer (64MB @ 0xE0000000)
>[   17.765731] ACPI: Thermal Zone [THRM] (35 C)
>[   17.787347] Real Time Clock Driver v1.12ac
>[   17.787516] Non-volatile memory driver v1.2
>[   17.787597] Software Watchdog Timer: 0.07 initialized. soft_noboot=0
> soft_margin=60 sec (nowayout= 0) [   17.787652] Linux agpgart interface
> v0.102 (c) Dave Jones
>[   17.787703] [drm] Initialized drm 1.1.0 20060810
>[   17.787745] Hangcheck: starting hangcheck timer 0.9.0 (tick is 180
> seconds, margin is 60 seconds). [   17.787798] Hangcheck: Using
> get_cycles().
>[   17.787838] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ
> sharing disabled [   17.788625] loop: loaded (max 8 devices)
>[   17.788771] nbd: registered device at major 43
>[   17.789454] forcedeth.c: Reverse Engineered nForce ethernet driver.
> Version 0.60. [   17.789909] ACPI: PCI Interrupt Link [APCH] enabled at IRQ
> 23
>[   17.789957] ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APCH] -> GSI 23
> (level, low) -> IRQ 23 [   17.790067] forcedeth: using HIGHDMA
>[   18.311755] eth0: forcedeth.c: subsystem: 0147b:1c20 bound to
> 0000:00:08.0 [   18.312092] ACPI: PCI Interrupt Link [AMC1] enabled at IRQ
> 22
>[   18.312137] ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [AMC1] -> GSI 22
> (level, low) -> IRQ 22 [   18.312240] forcedeth: using HIGHDMA
>[   18.834919] eth1: forcedeth.c: subsystem: 0147b:1c20 bound to
> 0000:00:09.0 [   18.834977] netconsole: device eth0 not up yet, forcing it
>[   18.835411] eth0: no link during initialization.
>[   19.966601] eth0: link up.
>[   19.991904] netconsole: network logging started
>[   19.991945] Linux video capture interface: v2.00
>[   19.992003] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
>[   19.992047] ide: Assuming 33MHz system bus speed for PIO modes; override
> with idebus=xx [   19.992143] NFORCE-MCP55: IDE controller at PCI slot
> 0000:00:04.0 [   19.992200] NFORCE-MCP55: chipset revision 161
>[   19.992239] NFORCE-MCP55: not 100% native mode: will probe irqs later
>[   19.992283] NFORCE-MCP55: BIOS didn't set cable bits correctly. Enabling
> workaround. [   19.992338] NFORCE-MCP55: 0000:00:04.0 (rev a1) UDMA133
> controller [   19.992384]     ide0: BM-DMA at 0xf000-0xf007, BIOS settings:
> hda:DMA, hdb:DMA [   20.284435] hda: ST3400632A, ATA DISK drive
>[   20.563997] hdb: ST3500641A, ATA DISK drive
>[   20.620397] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
>[   20.620707] hda: max request size: 512KiB
>[   20.620981] hda: 781422768 sectors (400088 MB) w/16384KiB Cache,
> CHS=48641/255/63, UDMA(100) [   20.621204] hda: cache flushes supported
>[   20.621275]  hda: hda1 hda2 hda3
>[   20.627419] hdb: max request size: 512KiB
>[   20.675615] hdb: 976773168 sectors (500107 MB) w/16384KiB Cache,
> CHS=60801/255/63, UDMA(100) [   20.708515] hdb: cache flushes supported
>[   20.708566]  hdb: unknown partition table
>[   20.730037] ACPI: PCI Interrupt Link [APSI] enabled at IRQ 21
>[   20.730085] ACPI: PCI Interrupt 0000:00:05.0[A] -> Link [APSI] -> GSI 21
> (level, low) -> IRQ 21 [   20.730267] ata1: SATA max UDMA/133 cmd
> 0x00000000000109f0 ctl 0x0000000000010bf2 bmdma 0x000000000001dc00 irq 21 [
>   20.730356] ata2: SATA max UDMA/133 cmd 0x0000000000010970 ctl
> 0x0000000000010b72 bmdma 0x000000000001dc08 irq 21 [   20.730421] scsi0 :
> sata_nv
>[   21.198398] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>[   21.362219] ata1.00: ATAPI, max UDMA/33
>[   21.362258] ata1.00: applying bridge limits
>[   21.530509] ata1.00: configured for UDMA/33
>[   21.530554] scsi1 : sata_nv
>[   21.997147] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>[   22.005210] ata2.00: ATA-7: ST3300831AS, 3.03, max UDMA/133
>[   22.005252] ata2.00: 586072368 sectors, multi 16: LBA48 NCQ (depth 0/32)
>[   22.017746] ata2.00: configured for UDMA/133
>[   22.018346] scsi 0:0:0:0: CD-ROM            PLEXTOR  DVDR   PX-712A  
> 1.07 PQ: 0 ANSI: 5 [   22.020755] sr0: scsi3-mmc drive: 40x/40x writer
> cd/rw xa/form2 cdda tray [   22.020799] Uniform CD-ROM driver Revision:
> 3.20
>[   22.020932] sr 0:0:0:0: Attached scsi generic sg0 type 5
>[   22.021014] scsi 1:0:0:0: Direct-Access     ATA      ST3300831AS     
> 3.03 PQ: 0 ANSI: 5 [   22.021134] SCSI device sda: 586072368 512-byte hdwr
> sectors (300069 MB) [   22.021182] sda: Write Protect is off
>[   22.021232] SCSI device sda: write cache: enabled, read cache: enabled,
> doesn't support DPO or FUA [   22.021319] SCSI device sda: 586072368
> 512-byte hdwr sectors (300069 MB) [   22.021366] sda: Write Protect is off
>[   22.021414] SCSI device sda: write cache: enabled, read cache: enabled,
> doesn't support DPO or FUA [   22.021471]  sda: sda1
>[   22.039680] sd 1:0:0:0: Attached scsi disk sda
>[   22.039770] sd 1:0:0:0: Attached scsi generic sg1 type 0
>[   22.040153] ACPI: PCI Interrupt Link [APSJ] enabled at IRQ 20
>[   22.040200] ACPI: PCI Interrupt 0000:00:05.1[B] -> Link [APSJ] -> GSI 20
> (level, low) -> IRQ 20 [   22.040355] ata3: SATA max UDMA/133 cmd
> 0x00000000000109e0 ctl 0x0000000000010be2 bmdma 0x000000000001c800 irq 20 [
>   22.040441] ata4: SATA max UDMA/133 cmd 0x0000000000010960 ctl
> 0x0000000000010b62 bmdma 0x000000000001c808 irq 20 [   22.040506] scsi2 :
> sata_nv
>[   22.352576] ata3: SATA link down (SStatus 0 SControl 300)
>[   22.362868] ATA: abnormal status 0x7F on port 0x00000000000109e7
>[   22.363465] scsi3 : sata_nv
>[   22.676071] ata4: SATA link down (SStatus 0 SControl 300)
>[   22.686365] ATA: abnormal status 0x7F on port 0x0000000000010967
>[   22.687255] ACPI: PCI Interrupt Link [ASA2] enabled at IRQ 23
>[   22.687297] ACPI: PCI Interrupt 0000:00:05.2[C] -> Link [ASA2] -> GSI 23
> (level, low) -> IRQ 23 [   22.687443] ata5: SATA max UDMA/133 cmd
> 0x000000000001c400 ctl 0x000000000001c002 bmdma 0x000000000001b400 irq 23 [
>   22.687528] ata6: SATA max UDMA/133 cmd 0x000000000001bc00 ctl
> 0x000000000001b802 bmdma 0x000000000001b408 irq 23 [   22.687587] scsi4 :
> sata_nv
>[   22.999565] ata5: SATA link down (SStatus 0 SControl 300)
>[   23.009862] ATA: abnormal status 0x7F on port 0x000000000001c407
>[   23.010463] scsi5 : sata_nv
>[   23.323059] ata6: SATA link down (SStatus 0 SControl 300)
>[   23.333366] ATA: abnormal status 0x7F on port 0x000000000001bc07
>[   23.334047] video1394: Installed video1394 module
>[   23.334110] ieee1394: raw1394: /dev/raw1394 device initialized
>[   23.334191] NOTE: The dv1394 driver is unsupported and may be removed in
> a future Linux release. Use raw1394 instead. [   23.334384] eth1394: eth2:
> IEEE-1394 IPv4 over 1394 Ethernet (fw-host0) [   23.334971] ACPI: PCI
> Interrupt Link [APCL] enabled at IRQ 22
>[   23.335014] ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [APCL] -> GSI 22
> (level, low) -> IRQ 22 [   23.335135] ehci_hcd 0000:00:02.1: EHCI Host
> Controller
>[   23.335222] ehci_hcd 0000:00:02.1: new USB bus registered, assigned bus
> number 1 [   23.335305] ehci_hcd 0000:00:02.1: debug port 1
>[   23.335356] ehci_hcd 0000:00:02.1: irq 22, io mem 0xfe02e000
>[   23.335402] ehci_hcd 0000:00:02.1: USB 2.0 started, EHCI 1.00, driver 10
> Dec 2004 [   23.335577] usb usb1: configuration #1 chosen from 1 choice
>[   23.335662] hub 1-0:1.0: USB hub found
>[   23.335707] hub 1-0:1.0: 10 ports detected
>[   23.439844] ACPI: PCI Interrupt Link [APCF] enabled at IRQ 21
>[   23.439886] ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [APCF] -> GSI 21
> (level, low) -> IRQ 21 [   23.440002] ohci_hcd 0000:00:02.0: OHCI Host
> Controller
>[   23.440079] ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus
> number 2 [   23.440140] ohci_hcd 0000:00:02.0: irq 21, io mem 0xfe02f000
>[   23.501418] usb usb2: configuration #1 chosen from 1 choice
>[   23.501493] hub 2-0:1.0: USB hub found
>[   23.501537] hub 2-0:1.0: 10 ports detected
>[   23.607247] Initializing USB Mass Storage driver...
>[   23.934104] usb 2-4: new full speed USB device using ohci_hcd and address
> 2 [   24.107463] usb 2-4: configuration #1 chosen from 1 choice
>[   24.114506] usbcore: registered new interface driver usb-storage
>[   24.114548] USB Mass Storage support registered.
>[   24.114615] usbcore: registered new interface driver ati_remote2
>[   24.114656] ati_remote2: ATI/Philips USB RF remote driver 0.1
>[   24.114724] usbcore: registered new interface driver hiddev
>[   24.114787] usbcore: registered new interface driver usbhid
>[   24.114831] drivers/usb/input/hid-core.c: v2.6:USB HID core driver
>[   24.114926] usbcore: registered new interface driver usbserial
>[   24.114988] drivers/usb/serial/usb-serial.c: USB Serial support
> registered for generic [   24.115069] usbcore: registered new interface
> driver usbserial_generic [   24.115111] drivers/usb/serial/usb-serial.c:
> USB Serial Driver core [   24.115176] drivers/usb/serial/usb-serial.c: USB
> Serial support registered for FTDI USB Serial Device [   24.115262]
> ftdi_sio 2-4:1.0: FTDI USB Serial Device converter detected [   24.115311]
> Unable to handle kernel NULL pointer dereference at 0000000000000014 RIP: [
>   24.115345]  [<ffffffff8046f212>] ftdi_USB_UIRT_setup+0x34/0x4b
>[   24.115467] PGD 0
>[   24.115529] Oops: 0002 [1] PREEMPT SMP
>[   24.115643] CPU 1
>[   24.115706] Modules linked in:
>[   24.115771] Pid: 1, comm: swapper Not tainted 2.6.21.5 #2
>[   24.115813] RIP: 0010:[<ffffffff8046f212>]  [<ffffffff8046f212>]
> ftdi_USB_UIRT_setup+0x34/0x4b [   24.115897] RSP: 0000:ffff81003ffa3bf0 
> EFLAGS: 00010246
>[   24.115941] RAX: 0000000000000000 RBX: ffff81003f0d92c0 RCX:
> ffffffff8046f951 [   24.115986] RDX: 0000000000000000 RSI: ffff81003f0db9c0
> RDI: ffff81003f0d92c0 [   24.116032] RBP: ffff81003f0d9800 R08:
> 0000000000000000 R09: ffff81003f5aa5c0 [   24.116077] R10: ffff81003f06d800
> R11: 0000000000000001 R12: 0000000000000040 [   24.116123] R13:
> ffff81003f06d800 R14: ffff81003f0d92c0 R15: ffffffff8068cec0 [   24.116169]
> FS:  0000000000000000(0000) GS:ffff810001fba4c0(0000)
> knlGS:0000000000000000 [   24.116225] CS:  0010 DS: 0018 ES: 0018 CR0:
> 000000008005003b
>[   24.116268] CR2: 0000000000000014 CR3: 0000000000201000 CR4:
> 00000000000006e0 [   24.116313] Process swapper (pid: 1, threadinfo
> ffff81003ffa2000, task ffff81003ffa14b0) [   24.116369] Stack: 
> ffff81003f059800 ffffffff8046de52 ffff81003f059800 ffffffff8046cd25 [  
> 24.116550]  ffff81003ffa14b0 ffff81003f1ce800 ffff81003f4d7c48
> 0000000001e15740 [   24.116704]  0000000100000000 0000000100000001
> ffff81003ffa3d00 ffffffff8025bc76 [   24.116824] Call Trace:
>[   24.116899]  [<ffffffff8046de52>] ftdi_sio_attach+0x17/0x1b
>[   24.116943]  [<ffffffff8046cd25>] usb_serial_probe+0xab9/0xe84
>[   24.116990]  [<ffffffff8025bc76>] thread_return+0xa4/0xf7
>[   24.117034]  [<ffffffff802d0125>] __sysfs_new_dirent+0x15/0x4d
>[   24.117078]  [<ffffffff802d02b5>] __sysfs_make_dirent+0x1b/0x80
>[   24.117122]  [<ffffffff802d0343>] sysfs_make_dirent+0x29/0x38
>[   24.117168]  [<ffffffff80455bf5>] usb_match_one_id+0x26/0x82
>[   24.117212]  [<ffffffff80456787>] usb_probe_interface+0x7d/0xa5
>[   24.117257]  [<ffffffff803dd113>] really_probe+0xc5/0x152
>
>--
>A human being should be able to change a diaper, plan an invasion,
>butcher a hog, conn a ship, design a building, write a sonnet,
>balance accounts, build a wall, set a bone, comfort the dying, take orders,
>give orders, cooperate, act alone, solve equations, analyze a new problem,
>pitch manure, program a computer, cook a tasty meal, fight efficiently,
>die gallantly. Specialization is for insects.
>--Robert Heinlein
>
>-------------------------------------------------------------------------
>This SF.net email is sponsored by DB2 Express
>Download DB2 Express C - the FREE version of DB2 express and take
>control of your XML. No limits. Just data. Click to get it now.
>http://sourceforge.net/powerbar/db2/
>_______________________________________________
>linux-usb-devel@lists.sourceforge.net
>To unsubscribe, use the last form field at:
>https://lists.sourceforge.net/lists/listinfo/linux-usb-devel



-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Herth's Law:
        He who turns the other cheek too far gets it in the neck.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to