kernel_optimize_test/drivers/firewire
Jay Fenlason 45ee3199eb firewire: cdev: use an idr rather than a linked list for resources
The current code uses a linked list and a counter for storing
resources and the corresponding handle numbers.  By changing to an idr
we can be safe from counter wrap-around giving two resources the same
handle.

Furthermore, the deallocation ioctls now check whether the resource to
be freed is of the intended type.

Signed-off-by: Jay Fenlason <fenlason@redhat.com>

Some rework by Stefan R:
  - The idr API documentation says we get an ID within 0...0x7fffffff.
    Hence we can rest assured that idr handles fit into cdev handles.
  - Fix some races.  Add a client->in_shutdown flag for this purpose.
  - Add allocation retry to add_client_resource().
  - It is possible to use idr_for_each() in fw_device_op_release().
  - Fix ioctl_send_response() regression.
  - Small style changes.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-03-24 20:56:38 +01:00
..
fw-card.c firewire: core: Remove card from list of cards when enable fails 2009-02-01 11:17:24 +01:00
fw-cdev.c firewire: cdev: use an idr rather than a linked list for resources 2009-03-24 20:56:38 +01:00
fw-device.c firewire: convert client_list_lock to mutex 2009-03-24 20:56:37 +01:00
fw-device.h firewire: convert client_list_lock to mutex 2009-03-24 20:56:37 +01:00
fw-iso.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
fw-ohci.c firewire: Include iso timestamp in headers when header_size > 4 2009-03-24 20:56:35 +01:00
fw-ohci.h
fw-sbp2.c firewire: sbp2: add workarounds for 2nd and 3rd generation iPods 2009-01-29 20:19:48 +01:00
fw-topology.c firewire: unnecessary BM delay after generation rollover 2009-01-20 19:29:51 +01:00
fw-topology.h firewire: reread config ROM when device reset the bus 2008-04-18 17:55:36 +02:00
fw-transaction.c firewire: fix small memory leak at module removal 2009-01-04 23:50:37 +01:00
fw-transaction.h firewire: unnecessary BM delay after generation rollover 2009-01-20 19:29:51 +01:00
Kconfig firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
Makefile