summaryrefslogtreecommitdiff
path: root/drivers/firewire/fw-topology.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-05-07 20:33:31 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-05-10 18:24:13 +0200
commite175569c4639872b5cf242c9d4a71cc40c5f3c29 (patch)
treec962499ff5db9cc91d7b618524221563f2ccf452 /drivers/firewire/fw-topology.c
parent3e7cbae7c6dda18d427335b3ad98f1a0d40ef30c (diff)
firewire: Use lib/ implementation of CRC ITU-T.
With the CRC ITU-T implementation available in lib/ we can use that instead. This also fixes a bug in the topology map crc computation. Signed-off-by: Kristian Hoegsberg <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (fixed Kconfig)
Diffstat (limited to 'drivers/firewire/fw-topology.c')
-rw-r--r--drivers/firewire/fw-topology.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c
index bc8a3487c83a..018c6b8afba6 100644
--- a/drivers/firewire/fw-topology.c
+++ b/drivers/firewire/fw-topology.c
@@ -465,14 +465,13 @@ static void
update_topology_map(struct fw_card *card, u32 *self_ids, int self_id_count)
{
int node_count;
- u32 crc;
card->topology_map[1]++;
node_count = (card->root_node->node_id & 0x3f) + 1;
card->topology_map[2] = (node_count << 16) | self_id_count;
- crc = crc16_itu_t(card->topology_map + 1, self_id_count + 2);
- card->topology_map[0] = ((self_id_count + 2) << 16) | crc;
+ card->topology_map[0] = (self_id_count + 2) << 16;
memcpy(&card->topology_map[3], self_ids, self_id_count * 4);
+ fw_compute_block_crc(card->topology_map);
}
void