Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 206779
b: refs/heads/master
c: 685c3f8
h: refs/heads/master
i:
  206777: aee8338
  206775: 78bbff0
v: v3
  • Loading branch information
Stefan Richter committed Jul 27, 2010
1 parent d0da220 commit dea5c51
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a2d39db9dec0e7e403f54c9cf98b7dbc82b4c44a
refs/heads/master: 685c3f80b6d88478a6428676f9daab59faf3cd4b
30 changes: 12 additions & 18 deletions trunk/drivers/firewire/nosy.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,21 +263,17 @@ set_phy_reg(struct pcilynx *lynx, int addr, int val)
static void
nosy_start_snoop(struct client *client)
{
unsigned long flags;

spin_lock_irqsave(&client->lynx->client_list_lock, flags);
spin_lock_irq(&client->lynx->client_list_lock);
list_add_tail(&client->link, &client->lynx->client_list);
spin_unlock_irqrestore(&client->lynx->client_list_lock, flags);
spin_unlock_irq(&client->lynx->client_list_lock);
}

static void
nosy_stop_snoop(struct client *client)
{
unsigned long flags;

spin_lock_irqsave(&client->lynx->client_list_lock, flags);
spin_lock_irq(&client->lynx->client_list_lock);
list_del_init(&client->link);
spin_unlock_irqrestore(&client->lynx->client_list_lock, flags);
spin_unlock_irq(&client->lynx->client_list_lock);
}

static struct client *
Expand Down Expand Up @@ -410,9 +406,8 @@ struct link_packet {
};

static void
packet_handler(struct pcilynx *lynx)
packet_irq_handler(struct pcilynx *lynx)
{
unsigned long flags;
struct client *client;
u32 tcode_mask;
size_t length;
Expand All @@ -432,31 +427,30 @@ packet_handler(struct pcilynx *lynx)
else
tcode_mask = 1 << packet->tcode;

spin_lock_irqsave(&lynx->client_list_lock, flags);
spin_lock(&lynx->client_list_lock);

list_for_each_entry(client, &lynx->client_list, link)
if (client->tcode_mask & tcode_mask)
packet_buffer_put(&client->buffer,
lynx->rcv_buffer, length + 4);

spin_unlock_irqrestore(&lynx->client_list_lock, flags);
spin_unlock(&lynx->client_list_lock);
}

static void
bus_reset_handler(struct pcilynx *lynx)
bus_reset_irq_handler(struct pcilynx *lynx)
{
unsigned long flags;
struct client *client;
struct timeval tv;

do_gettimeofday(&tv);

spin_lock_irqsave(&lynx->client_list_lock, flags);
spin_lock(&lynx->client_list_lock);

list_for_each_entry(client, &lynx->client_list, link)
packet_buffer_put(&client->buffer, &tv.tv_usec, 4);

spin_unlock_irqrestore(&lynx->client_list_lock, flags);
spin_unlock(&lynx->client_list_lock);
}

static irqreturn_t
Expand All @@ -478,7 +472,7 @@ irq_handler(int irq, void *device)
reg_write(lynx, LINK_INT_STATUS, link_int_status);

if ((link_int_status & LINK_INT_PHY_BUSRESET) > 0)
bus_reset_handler(lynx);
bus_reset_irq_handler(lynx);
}

/* Clear the PCI_INT_STATUS register only after clearing the
Expand All @@ -488,7 +482,7 @@ irq_handler(int irq, void *device)
reg_write(lynx, PCI_INT_STATUS, pci_int_status);

if ((pci_int_status & PCI_INT_DMA0_HLT) > 0) {
packet_handler(lynx);
packet_irq_handler(lynx);
run_pcl(lynx, lynx->rcv_start_pcl_bus, 0);
}

Expand Down

0 comments on commit dea5c51

Please sign in to comment.