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/
>_______________________________________________
>[email protected]
>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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel