summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/ni_670x.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/staging/comedi/drivers/ni_670x.c b/drivers/staging/comedi/drivers/ni_670x.c
index bab964477118..46f373a0c0ca 100644
--- a/drivers/staging/comedi/drivers/ni_670x.c
+++ b/drivers/staging/comedi/drivers/ni_670x.c
@@ -301,8 +301,13 @@ static int ni_670x_attach(struct comedi_device *dev,
static void ni_670x_detach(struct comedi_device *dev)
{
struct ni_670x_private *devpriv = dev->private;
+ struct comedi_subdevice *s;
- kfree(dev->subdevices[0].range_table_list);
+ if (dev->n_subdevices) {
+ s = dev->subdevices + 0;
+ if (s)
+ kfree(s->range_table_list);
+ }
if (devpriv && devpriv->mite)
mite_unsetup(devpriv->mite);
if (dev->irq)