Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

firewire: Convert card_rwsem to a regular mutex.

Signed-off-by: Kristian Hoegsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>

authored by

Kristian Høgsberg and committed by
Stefan Richter
6a5033be c781c06d

+10 -10
+10 -10
drivers/firewire/fw-card.c
··· 19 19 #include <linux/module.h> 20 20 #include <linux/errno.h> 21 21 #include <linux/device.h> 22 - #include <linux/rwsem.h> 22 + #include <linux/mutex.h> 23 23 #include <linux/crc-itu-t.h> 24 24 #include "fw-transaction.h" 25 25 #include "fw-topology.h" ··· 38 38 return length; 39 39 } 40 40 41 - static DECLARE_RWSEM(card_rwsem); 41 + static DEFINE_MUTEX(card_mutex); 42 42 static LIST_HEAD(card_list); 43 43 44 44 static LIST_HEAD(descriptor_list); ··· 154 154 if (i != desc->length) 155 155 return -EINVAL; 156 156 157 - down_write(&card_rwsem); 157 + mutex_lock(&card_mutex); 158 158 159 159 list_add_tail (&desc->link, &descriptor_list); 160 160 descriptor_count++; ··· 162 162 descriptor_count++; 163 163 update_config_roms(); 164 164 165 - up_write(&card_rwsem); 165 + mutex_unlock(&card_mutex); 166 166 167 167 return 0; 168 168 } ··· 171 171 void 172 172 fw_core_remove_descriptor (struct fw_descriptor *desc) 173 173 { 174 - down_write(&card_rwsem); 174 + mutex_lock(&card_mutex); 175 175 176 176 list_del(&desc->link); 177 177 descriptor_count--; ··· 179 179 descriptor_count--; 180 180 update_config_roms(); 181 181 182 - up_write(&card_rwsem); 182 + mutex_unlock(&card_mutex); 183 183 } 184 184 EXPORT_SYMBOL(fw_core_remove_descriptor); 185 185 ··· 418 418 */ 419 419 fw_card_get(card); 420 420 421 - down_write(&card_rwsem); 421 + mutex_lock(&card_mutex); 422 422 config_rom = generate_config_rom (card, &length); 423 423 list_add_tail(&card->link, &card_list); 424 - up_write(&card_rwsem); 424 + mutex_unlock(&card_mutex); 425 425 426 426 return card->driver->enable(card, config_rom, length); 427 427 } ··· 505 505 PHY_LINK_ACTIVE | PHY_CONTENDER, 0); 506 506 fw_core_initiate_bus_reset(card, 1); 507 507 508 - down_write(&card_rwsem); 508 + mutex_lock(&card_mutex); 509 509 list_del(&card->link); 510 - up_write(&card_rwsem); 510 + mutex_unlock(&card_mutex); 511 511 512 512 /* Set up the dummy driver. */ 513 513 card->driver = &dummy_driver;