git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ulimit: raise default hard ulimit on number of files to 4096
[pandora-kernel.git]
/
drivers
/
firewire
/
core-device.c
diff --git
a/drivers/firewire/core-device.c
b/drivers/firewire/core-device.c
index
9a26243
..
95a4714
100644
(file)
--- a/
drivers/firewire/core-device.c
+++ b/
drivers/firewire/core-device.c
@@
-725,6
+725,15
@@
struct fw_device *fw_device_get_by_devt(dev_t devt)
return device;
}
return device;
}
+struct workqueue_struct *fw_workqueue;
+EXPORT_SYMBOL(fw_workqueue);
+
+static void fw_schedule_device_work(struct fw_device *device,
+ unsigned long delay)
+{
+ queue_delayed_work(fw_workqueue, &device->work, delay);
+}
+
/*
* These defines control the retry behavior for reading the config
* rom. It shouldn't be necessary to tweak these; if the device
/*
* These defines control the retry behavior for reading the config
* rom. It shouldn't be necessary to tweak these; if the device
@@
-750,7
+759,7
@@
static void fw_device_shutdown(struct work_struct *work)
if (time_before64(get_jiffies_64(),
device->card->reset_jiffies + SHUTDOWN_DELAY)
&& !list_empty(&device->card->link)) {
if (time_before64(get_jiffies_64(),
device->card->reset_jiffies + SHUTDOWN_DELAY)
&& !list_empty(&device->card->link)) {
-
schedule_delayed_work(&device->work
, SHUTDOWN_DELAY);
+
fw_schedule_device_work(device
, SHUTDOWN_DELAY);
return;
}
return;
}
@@
-862,7
+871,7
@@
static int lookup_existing_device(struct device *dev, void *data)
fw_notify("rediscovered device %s\n", dev_name(dev));
PREPARE_DELAYED_WORK(&old->work, fw_device_update);
fw_notify("rediscovered device %s\n", dev_name(dev));
PREPARE_DELAYED_WORK(&old->work, fw_device_update);
-
schedule_delayed_work(&old->work
, 0);
+
fw_schedule_device_work(old
, 0);
if (current_node == card->root_node)
fw_schedule_bm_work(card, 0);
if (current_node == card->root_node)
fw_schedule_bm_work(card, 0);
@@
-953,7
+962,7
@@
static void fw_device_init(struct work_struct *work)
if (device->config_rom_retries < MAX_RETRIES &&
atomic_read(&device->state) == FW_DEVICE_INITIALIZING) {
device->config_rom_retries++;
if (device->config_rom_retries < MAX_RETRIES &&
atomic_read(&device->state) == FW_DEVICE_INITIALIZING) {
device->config_rom_retries++;
-
schedule_delayed_work(&device->work
, RETRY_DELAY);
+
fw_schedule_device_work(device
, RETRY_DELAY);
} else {
if (device->node->link_on)
fw_notify("giving up on config rom for node id %x\n",
} else {
if (device->node->link_on)
fw_notify("giving up on config rom for node id %x\n",
@@
-1019,7
+1028,7
@@
static void fw_device_init(struct work_struct *work)
FW_DEVICE_INITIALIZING,
FW_DEVICE_RUNNING) == FW_DEVICE_GONE) {
PREPARE_DELAYED_WORK(&device->work, fw_device_shutdown);
FW_DEVICE_INITIALIZING,
FW_DEVICE_RUNNING) == FW_DEVICE_GONE) {
PREPARE_DELAYED_WORK(&device->work, fw_device_shutdown);
-
schedule_delayed_work(&device->work
, SHUTDOWN_DELAY);
+
fw_schedule_device_work(device
, SHUTDOWN_DELAY);
} else {
if (device->config_rom_retries)
fw_notify("created device %s: GUID %08x%08x, S%d00, "
} else {
if (device->config_rom_retries)
fw_notify("created device %s: GUID %08x%08x, S%d00, "
@@
-1098,7
+1107,7
@@
static void fw_device_refresh(struct work_struct *work)
if (device->config_rom_retries < MAX_RETRIES / 2 &&
atomic_read(&device->state) == FW_DEVICE_INITIALIZING) {
device->config_rom_retries++;
if (device->config_rom_retries < MAX_RETRIES / 2 &&
atomic_read(&device->state) == FW_DEVICE_INITIALIZING) {
device->config_rom_retries++;
-
schedule_delayed_work(&device->work
, RETRY_DELAY / 2);
+
fw_schedule_device_work(device
, RETRY_DELAY / 2);
return;
}
return;
}
@@
-1131,7
+1140,7
@@
static void fw_device_refresh(struct work_struct *work)
if (device->config_rom_retries < MAX_RETRIES &&
atomic_read(&device->state) == FW_DEVICE_INITIALIZING) {
device->config_rom_retries++;
if (device->config_rom_retries < MAX_RETRIES &&
atomic_read(&device->state) == FW_DEVICE_INITIALIZING) {
device->config_rom_retries++;
-
schedule_delayed_work(&device->work
, RETRY_DELAY);
+
fw_schedule_device_work(device
, RETRY_DELAY);
return;
}
return;
}
@@
-1158,7
+1167,7
@@
static void fw_device_refresh(struct work_struct *work)
gone:
atomic_set(&device->state, FW_DEVICE_GONE);
PREPARE_DELAYED_WORK(&device->work, fw_device_shutdown);
gone:
atomic_set(&device->state, FW_DEVICE_GONE);
PREPARE_DELAYED_WORK(&device->work, fw_device_shutdown);
-
schedule_delayed_work(&device->work
, SHUTDOWN_DELAY);
+
fw_schedule_device_work(device
, SHUTDOWN_DELAY);
out:
if (node_id == card->root_node->node_id)
fw_schedule_bm_work(card, 0);
out:
if (node_id == card->root_node->node_id)
fw_schedule_bm_work(card, 0);
@@
-1214,7
+1223,7
@@
void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
* first config rom scan half a second after bus reset.
*/
INIT_DELAYED_WORK(&device->work, fw_device_init);
* first config rom scan half a second after bus reset.
*/
INIT_DELAYED_WORK(&device->work, fw_device_init);
-
schedule_delayed_work(&device->work
, INITIAL_DELAY);
+
fw_schedule_device_work(device
, INITIAL_DELAY);
break;
case FW_NODE_INITIATED_RESET:
break;
case FW_NODE_INITIATED_RESET:
@@
-1230,7
+1239,7
@@
void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
FW_DEVICE_RUNNING,
FW_DEVICE_INITIALIZING) == FW_DEVICE_RUNNING) {
PREPARE_DELAYED_WORK(&device->work, fw_device_refresh);
FW_DEVICE_RUNNING,
FW_DEVICE_INITIALIZING) == FW_DEVICE_RUNNING) {
PREPARE_DELAYED_WORK(&device->work, fw_device_refresh);
-
schedule_delayed_work(&device->work
,
+
fw_schedule_device_work(device
,
device->is_local ? 0 : INITIAL_DELAY);
}
break;
device->is_local ? 0 : INITIAL_DELAY);
}
break;
@@
-1245,7
+1254,7
@@
void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
device->generation = card->generation;
if (atomic_read(&device->state) == FW_DEVICE_RUNNING) {
PREPARE_DELAYED_WORK(&device->work, fw_device_update);
device->generation = card->generation;
if (atomic_read(&device->state) == FW_DEVICE_RUNNING) {
PREPARE_DELAYED_WORK(&device->work, fw_device_update);
-
schedule_delayed_work(&device->work
, 0);
+
fw_schedule_device_work(device
, 0);
}
break;
}
break;
@@
-1270,7
+1279,7
@@
void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
if (atomic_xchg(&device->state,
FW_DEVICE_GONE) == FW_DEVICE_RUNNING) {
PREPARE_DELAYED_WORK(&device->work, fw_device_shutdown);
if (atomic_xchg(&device->state,
FW_DEVICE_GONE) == FW_DEVICE_RUNNING) {
PREPARE_DELAYED_WORK(&device->work, fw_device_shutdown);
-
schedule_delayed_work(&device->work
,
+
fw_schedule_device_work(device
,
list_empty(&card->link) ? 0 : SHUTDOWN_DELAY);
}
break;
list_empty(&card->link) ? 0 : SHUTDOWN_DELAY);
}
break;