10 Mar, 2007
40 commits
-
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
The old mechanism kept a struct cdev for each fw device, but fops->release
would reference this struct after the device got freed in some cases.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Repurpose the get_config_rom ioctl to a general get_info ioctl.
This ioctl is now used for version negotiation, and optionally
returns the config rom, and the current bus info.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Use PREPARE_DELAYED_WORK to just change the function pointer.
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
We can't take the klist lock for the child device list in interrupt
context.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Some flaky controllers doesn't honor the masterIntEnable bits
and can generate bus reset events even if that bit is cleared.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
This lets us break out "Juju" as the model name in the config rom.
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
The obsolete SA_xxx interrupt flags have been used despite the scheduled
removal. Fixup the remaining users in -mm.Signed-off-by: Thomas Gleixner
Acked-by: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Remove space before tab and trailing whitespace.
Unify indentation of goto target labels.Signed-off-by: Stefan Richter
-
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
We need the channel number as we queue up iso packets for transmission
so we can fill out the header correctly.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
When a DMA descriptor is appended to the context we sync it for
DMA and the device might potentially read it immediately. So,
we can't set the IRQ bits in the descriptor after appending.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
When the DMA is setup to not strip any headers, we need to use
the buffer fill descriptor instead of the dual buffer, since the
dual buffer descriptor must strip a non-zero number of header quadlets.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
The descriptor circular buffer logic used for iso transmission is
useful for async transmit too, so pull the sharable logic out in
a few standalone functions.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
This patch splits out the iso buffer so we can initialize it at mmap
time with the size provided in the mmap call. Furthermore, allocate
the backing pages using alloc_page to avoid setting up kernel side
virtual memory mappings for the pages.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
The *Clear registers returns the masked value when read which is
what we want.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Pointed out by Pete Zaitcev.
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Use atomic_inc_return.
Signed-off-by: Stefan Richter
-
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
This lets the SCSI stack retry the command when a SCSI command is
interrupted by a FireWire bus reset.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
This prevents superfluous bus traffic as fw-sbp2 logs in only to
get kicked off the device by another bus reset as the driver core
does bus management. Scheduling it this way lets the driver core
finish bus management before higher level drivers get the update
callback.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Sometimes we reconnect too soon, sometimes too late. Adding a retry
mechanism make the reconnect step much more robust.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
When a management ORB times out, either because the fw_transaction
times out or when we don't get the status write, we need to properly
cancel the entire operation.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Drivers such as fw-sbp2 had no way to properly cancel in-progress
transactions, which could leave a pending transaction or an unset
packet in the low-level queues after kfree'ing the containing
structure. fw_cancel_transaction() lets drivers cancel a submitted
transaction.Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter -
Signed-off-by: Kristian Høgsberg
Signed-off-by: Stefan Richter