mwifiex: increase the priority of firmware dump message
[cascardo/linux.git] / drivers / block / cciss.c
index 0422c47..63c2064 100644 (file)
@@ -514,14 +514,9 @@ cciss_proc_write(struct file *file, const char __user *buf,
        if (!buf || length > PAGE_SIZE - 1)
                return -EINVAL;
 
-       buffer = (char *)__get_free_page(GFP_KERNEL);
-       if (!buffer)
-               return -ENOMEM;
-
-       err = -EFAULT;
-       if (copy_from_user(buffer, buf, length))
-               goto out;
-       buffer[length] = '\0';
+       buffer = memdup_user_nul(buf, length);
+       if (IS_ERR(buffer))
+               return PTR_ERR(buffer);
 
 #ifdef CONFIG_CISS_SCSI_TAPE
        if (strncmp(ENGAGE_SCSI, buffer, sizeof ENGAGE_SCSI - 1) == 0) {
@@ -537,8 +532,7 @@ cciss_proc_write(struct file *file, const char __user *buf,
        /* might be nice to have "disengage" too, but it's not
           safely possible. (only 1 module use count, lock issues.) */
 
-out:
-       free_page((unsigned long)buffer);
+       kfree(buffer);
        return err;
 }
 
@@ -3854,7 +3848,7 @@ static void print_cfg_table(ctlr_info_t *h)
               readl(&(tb->HostWrite.CoalIntDelay)));
        dev_dbg(&h->pdev->dev, "   Coalesce Interrupt Count = 0x%x\n",
               readl(&(tb->HostWrite.CoalIntCount)));
-       dev_dbg(&h->pdev->dev, "   Max outstanding commands = 0x%d\n",
+       dev_dbg(&h->pdev->dev, "   Max outstanding commands = 0x%x\n",
               readl(&(tb->CmdsOutMax)));
        dev_dbg(&h->pdev->dev, "   Bus Types = 0x%x\n",
                readl(&(tb->BusTypes)));