solos-pci: Use shared code for VCC management
Subsystems (3)
PATCH 1/1 solos-pci: Use shared code for VCC management
The solos-pci driver duplicates the net/atm/common.c function atm_dev_release_vccs() locally as the static function release_vccs(). Let's have the driver share code.
Signed-off-by Philip A. Prindeville <[email protected]>
---
drivers/atm/solos-pci.c +1 -24
@@ -165,7 +165,6 @@ static uint32_t fpga_tx(struct solos_carstatic irqreturn_t solos_irq (int irq,void *dev_id);static struct atm_vcc *find_vcc (struct atm_dev *dev,short vpi,int vci);static int list_vccs (int vci); -static void release_vccs (struct atm_dev *dev);static int atm_init (struct solos_card *,struct device *);static void atm_remove (struct solos_card *);static int send_command (struct solos_card *card,int dev,const char *buf,size_t size);
@@ -384,7 +383,7 @@ static int process_status(struct solos_c/* Anything but 'Showtime' is down */ if (strcmp (state_str,"Showtime" )) {atm_dev_signal_change (card->atmdev[port],ATM_PHY_SIG_LOST ); -release_vccs (card->atmdev[port]); +atm_dev_release_vccs (card->atmdev[port]);dev_info (&card->dev->dev,"Port %d: %s\n" , port, state_str);return 0 ; }
@@ -837,28 +836,6 @@ static int list_vccs(int vci)return num_found; } -static void release_vccs (struct atm_dev *dev) -{ -int i; - -write_lock_irq (&vcc_sklist_lock); -for (i =0 ; i<VCC_HTABLE_SIZE ; i++) { -struct hlist_head *head =&vcc_hash[i]; -struct hlist_node *node, *tmp; -struct sock *s; -struct atm_vcc *vcc; - -sk_for_each_safe (s, node, tmp, head) { - vcc =atm_sk (s); -if (vcc->dev == dev) { -vcc_release_async (vcc, -EPIPE ); -sk_del_node_init (s); - } - } - } -write_unlock_irq (&vcc_sklist_lock); -} -static int popen (struct atm_vcc *vcc) {
net/atm/common.c +1 -0
@@ -252,6 +252,7 @@ void atm_dev_release_vccs(struct atm_dev }write_unlock_irq (&vcc_sklist_lock); } +EXPORT_SYMBOL (atm_dev_release_vccs);static int adjust_tp (struct atm_trafprm *tp,unsigned char aal) {
include/linux/atmdev.h +1 -0
@@ -443,6 +443,7 @@ void atm_dev_signal_change(struct atm_devoid vcc_insert_socket (struct sock *sk); +void atm_dev_release_vccs (struct atm_dev *dev);/* * This is approximately the algorithm used by alloc_skb.
David Miller
maintainerNone of your patches apply cleanly to the current net-2.6 tree.
Please respin all of your patches against net-2.6 so that I can apply them properly.
Thanks.