Subject: linux-next: manual merge of the driver-core tree with the firmware tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Jun 2009 17:23:07 +1000

Hi Greg,

Today's linux-next merge of the driver-core tree got a conflict in
drivers/base/firmware_class.c between commit
6e03a201bbe8137487f340d26aa662110e324b20 ("firmware: speed up
request_firmware(), v3") from the firmware tree and commit
ffceb90f9b59a5186b3ce9177bfebf8819b7735a ("firmware: allocate firmware id
dynamically") from the driver-core tree.

Just overlapping additions.  I fixed it up (see below) and can carry the
fix as necessary.
-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc drivers/base/firmware_class.c
index 8a267c4,112af80..0000000
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@@ -350,13 -277,10 +350,14 @@@ static struct bin_attribute firmware_at
  static void fw_dev_release(struct device *dev)
  {
  	struct firmware_priv *fw_priv = dev_get_drvdata(dev);
 +	int i;
  
 +	for (i = 0; i < fw_priv->nr_pages; i++)
 +		__free_page(fw_priv->pages[i]);
 +	kfree(fw_priv->pages);
+ 	kfree(fw_priv->fw_id);
  	kfree(fw_priv);
- 	kfree(dev);
+ 	put_device(dev);
  
  	module_put(THIS_MODULE);
  }