orinoco potentially dereferencing before check

Dave Jones
2004-04-16T21:19:47Z

--- linux-2.6.5/drivers/net/wireless/orinoco_pci.c~ 2004-04-16 22:16:57.000000000 +0100
+++ linux-2.6.5/drivers/net/wireless/orinoco_pci.c 2004-04-16 22:17:30.000000000 +0100
@@ -275,14 +275,16 @@
static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata(pdev);
- struct orinoco_private *priv = dev->priv;
+ struct orinoco_private *priv;

if (! dev)
BUG();

+ priv = dev->priv;
+
unregister_netdev(dev);

- if (dev->irq)
+ if (dev->irq)
free_irq(dev->irq, dev);

if (priv->hw.iobase)