|
@@ -617,17 +617,15 @@ void sn_bus_store_sysdata(struct pci_dev *dev)
|
|
|
void sn_bus_free_sysdata(void)
|
|
|
{
|
|
|
struct sysdata_el *element;
|
|
|
- struct list_head *list;
|
|
|
+ struct list_head *list, *safe;
|
|
|
|
|
|
-sn_sysdata_free_start:
|
|
|
- list_for_each(list, &sn_sysdata_list) {
|
|
|
+ list_for_each_safe(list, safe, &sn_sysdata_list) {
|
|
|
element = list_entry(list, struct sysdata_el, entry);
|
|
|
list_del(&element->entry);
|
|
|
list_del(&(((struct pcidev_info *)
|
|
|
(element->sysdata))->pdi_list));
|
|
|
kfree(element->sysdata);
|
|
|
kfree(element);
|
|
|
- goto sn_sysdata_free_start;
|
|
|
}
|
|
|
return;
|
|
|
}
|