Release Notes/2.6.1x

From IEEE 1394 FireWire Wiki
Jump to: navigation, search

Release Notes: Kernel Drivers, v2.6.12..v2.6.19

See Release Notes for changelogs of the IEEE 1394 drivers in newer kernels.

The following release notes only summarize more notable changes in the IEEE 1394 drivers. The see kernel's git history for a complete list.


Contents


Linux 2.6.19

29 November 2006

eth1394
  • memory alignment problem fixed
ieee1394
  • recursive locking fixed
  • optimization of per-host kernel data structures; this apparently also fixed a kernel crash in hpsb_get_tlabel
ohci1394
  • initializes before most other device drivers to aid kernel debugging with firescope
raw1394
  • kernel freeze in address range mapping functions fixed
sbp2
  • HDDs whose motor was stopped after idle time or by another host are now automatically spun up
  • IO errors caused by "sbp2util_node_write_no_wait failed" fixed
  • another potential deadlock during device removal fixed
  • some combinations of Initio bridges and HDD mechanisms were wrongly detected as write protected; fixed by using a more standards conforming command for sd_mod's probing
video1394
  • poll() support added

Known issue: Some DVD-ROM/RW were mistaken for CD-ROM. Fixed in 2.6.19.3.


Linux 2.6.18

19 September 2006

ieee1394
  • less CPU usage in DMA housekeeping
  • support for S100...S400 1394b hardware and for devices with PHY faster than link
ohci1394
  • recover from "cycle too long" errors
sbp2
  • spin up Maxtor OneTouch disks when necessary (also in 2.6.17.8)

Among the rest of the changes are minor bug fixes, small changes to in-kernel API usage, and a small ieee1394 low-level API extension (for driver developers: two new members in struct hpsb_host which affect address range mapping).

Known issue: If the kernel is configured for "RW-sem debugging", a "recursive locking" warning in knodemgrd may appear in the kernel log. This is an old bug, but probably without practical impact. Fixed in 2.6.19.


Linux 2.6.17

17 June 2006

ieee1394
  • Removed the dormant support for devfs
ohci1394
  • PhyUpperBound lowered from ~256 TB to 1 TB on chips which support a programmable PhyUpperBound
raw1394
  • 64bit compatibility code for read and write access to /dev/raw1394 (not yet for ioctls)
sbp2
  • Fix kernel freeze after disconnecting a device. The fix is also available in Linux 2.6.16.2.
  • Fix compatibility regression with PL-3507 since Linux 2.6.16 ("scsi_add_device failed"). Also available in 2.6.16.20.
  • Added a workaround for iPods (fixes "end_request: I/O error" at blocks near the end of the disk). Also available in 2.6.16.20.
  • Added module load parameter "workarounds". A numeric parameter which signifies a combination of workarounds for quirky hardware can be given. See "modinfo sbp2". The now redundant parameter "force_inquiry_hack" will be removed in a future release.
  • Disabled "modprobe -r ohci1394" (or pcilynx) while logged in into an SBP-2 device, preventing inadvertent loss of connection.


Linux 2.6.16

19 March 2006

The bulk of changes to the IEEE 1394 subsystem since Linux 2.6.15 constitutes of behind-the-scenes cleanups, but there were also several bug fixes.

amdtp, cmp
  • These drivers were removed from the kernel. Their functionality is provided by libiec61883 now.
ieee1394
  • Bug fix: Suspend-to-disk would deadlock if the swap partition was located on a FireWire disk.
  • Reconnection to storage devices is often quicker now when additional devices get plugged in.
  • small consistency checks added to ROM parsing routines
ohci1394
  • logs number of hardware-implemented isochronous contexts when starting
raw1394
  • bug fixes for memory deallocation in config ROM manipulation routines
sbp2
  • Bug fix: Sbp2 always failed to connect to storage devices with "login timed out" with ALi and Fujitsu host adapters. This bug was believed to date back to the Mingh dynasty.
  • Bug fix: When a device was unplugged during ongoing I/O, the subsystem could fall into a deadlock, disabling subsequent hotplugs. (Fix is also available in Linux 2.6.15.5.)
  • Bug fix: The 36byte inquiry hack did not work in the last few Linux releases.
  • Bug fix: Resources were not freed when SCSI inquiry failed.
  • SCSI commands are no longer converted between command sets. The SCSI command set drivers, especially sd, are now using the proper command set.
  • Responses to inquiry commands from userspace sg I/O are now passed through as-is.
scsi/sd (as far as related to sbp2)
  • Bug fix: Memory corruption was encountered when FireWire disks with Initio bridge chip or some other bridge chips were plugged in. Could cause error messages, application crashes, or kernel panic. (Fix is also available in Linux 2.6.15.5.)
video1394
  • Bug fix: Wrong timestamps were generated. (bug from Linux 2.6.11)
  • Bug fix: When an ioctl failed to get a free channel, a wrong error number was returned.
several drivers
  • numerous code cleanups without change in functionality (or so we hope)
  • When starting, eth1394, ohci1394, and sbp2 do not log a version number anymore. There is no way to keep a meaningful version number without strictly centralized development model.
  • 1394 subsystem enabled in arch/x86_64/defconfig

Known issue: Some storage devices based on Prolific PL-3507 were not accessible anymore. Fixed in 2.6.16.20 and 2.6.17.


Linux 2.6.15

2 January 2006

ieee1394
  • Fix recognition of some pre-1394a devices, notably LSI based SBP-2 devices. ieee1394 now writes the broadcast channel register only to devices which actually support the register. Fixes also an interoperability regression of Linux 2.6.14.
  • Fix recognition of some devices after the PC was switched off and on, notably of Motorola DCT6200. ieee1394 posts one resume packet to wake up suspended remote ports.
pci
  • Workaround for FireWire controller of several Toshiba notebooks.
sbp2
  • Fix for occasional oops during command abortion.
scsi/sd
  • Fix panic or oops when runing the eject command on an iPod. Fix is also available in Linux 2.6.14.5.


Linux 2.6.14

27 October 2005

raw1394
  • fix for deadlocks on SMP machines
eth1394
  • workaround for 1394b cards, required on some architectures
ieee1394
  • bus reset handling slightly changed, helps to detect new devices after a cycle master related reset
  • MODALIAS variable provided to hotplug userspace scripts
sbp2
  • serialize_io=1 is now default, for better interoperability (add "options sbp2 serialize_io=0" to /etc/modprobe.conf for optimum performance of 1394b disks)
  • fix for hangs of the ieee1394 and scsi subsystems when devices were unplugged, fix for "modprobe -r sbp2" (these fixes are also present in Linux 2.6.13.4)


Linux 2.6.12

17 June 2005

Linux Kernel 2.6.12 contains a major upgrade for IEEE 1394. This is arguably the first stable version of Linux 1394 for 2.6 (your mileage may vary). Not only does it contain many bug fixes resolving all known kernel warnings, it also fixes multi-LUN support for sbp2 and contains new sysfs entries to support udev rules for the generic setup of /dev nodes. See our new FAQ item for example udev rules.

Personal tools