Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 292
b: refs/heads/master
c: fc458dc
h: refs/heads/master
v: v3
  • Loading branch information
ecashin@coraid.com authored and Greg KH committed Apr 19, 2005
1 parent 280a089 commit 01e3a82
Show file tree
Hide file tree
Showing 69 changed files with 444 additions and 482 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c79bea07ec4d3ef087962699fe8b2f6dc5ca7754
refs/heads/master: fc458dcda27c6d26cb11ef9ee9c1c3599711be94
5 changes: 5 additions & 0 deletions trunk/drivers/block/aoe/aoe.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@
#define VERSION "5"
#define AOE_MAJOR 152
#define DEVICE_NAME "aoe"

/* set AOE_PARTITIONS to 1 to use whole-disks only
* default is 16, which is 15 partitions plus the whole disk
*/
#ifndef AOE_PARTITIONS
#define AOE_PARTITIONS 16
#endif

#define SYSMINOR(aoemajor, aoeminor) ((aoemajor) * 10 + (aoeminor))
#define AOEMAJOR(sysminor) ((sysminor) / 10)
#define AOEMINOR(sysminor) ((sysminor) % 10)
Expand Down
9 changes: 5 additions & 4 deletions trunk/drivers/block/aoe/aoecmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -577,7 +577,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
struct aoe_cfghdr *ch;
ulong flags, bufcnt, sysminor, aoemajor;
struct sk_buff *sl;
enum { MAXFRAMES = 8, MAXSYSMINOR = 255 };
enum { MAXFRAMES = 8 };

h = (struct aoe_hdr *) skb->mac.raw;
ch = (struct aoe_cfghdr *) (h+1);
Expand All @@ -594,9 +594,10 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
}

sysminor = SYSMINOR(aoemajor, h->minor);
if (sysminor > MAXSYSMINOR) {
printk(KERN_INFO "aoe: aoecmd_cfg_rsp: sysminor %ld too "
"large\n", sysminor);
if (sysminor * AOE_PARTITIONS + AOE_PARTITIONS > MINORMASK) {
printk(KERN_INFO
"aoe: e%ld.%d: minor number too large\n",
aoemajor, (int) h->minor);
return;
}

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/i2c/chips/it87.c
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ static ssize_t show_alarms(struct device *dev, char *buf)
struct it87_data *data = it87_update_device(dev);
return sprintf(buf,"%d\n", ALARMS_FROM_REG(data->alarms));
}
static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
static DEVICE_ATTR(alarms, S_IRUGO | S_IWUSR, show_alarms, NULL);

static ssize_t
show_vrm_reg(struct device *dev, char *buf)
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/i2c/chips/via686a.c
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,7 @@ static ssize_t show_alarms(struct device *dev, char *buf) {
struct via686a_data *data = via686a_update_device(dev);
return sprintf(buf,"%d\n", ALARMS_FROM_REG(data->alarms));
}
static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
static DEVICE_ATTR(alarms, S_IRUGO | S_IWUSR, show_alarms, NULL);

/* The driver. I choose to use type i2c_driver, as at is identical to both
smbus_driver and isa_driver, and clients could be of either kind */
Expand Down Expand Up @@ -651,9 +651,10 @@ static int via686a_detect(struct i2c_adapter *adapter, int address, int kind)
new_client->adapter = adapter;
new_client->driver = &via686a_driver;
new_client->flags = 0;
new_client->dev.parent = &adapter->dev;

/* Fill in the remaining client fields and put into the global list */
strlcpy(new_client->name, client_name, I2C_NAME_SIZE);
snprintf(new_client->name, I2C_NAME_SIZE, client_name);

data->valid = 0;
init_MUTEX(&data->update_lock);
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/irda/stir4200.c
Original file line number Diff line number Diff line change
Expand Up @@ -1128,8 +1128,8 @@ static void stir_disconnect(struct usb_interface *intf)
}

#ifdef CONFIG_PM
/* USB suspend, so power off the transmitter/receiver */
static int stir_suspend(struct usb_interface *intf, pm_message_t message)
/* Power management suspend, so power off the transmitter/receiver */
static int stir_suspend(struct usb_interface *intf, u32 state)
{
struct stir_cb *stir = usb_get_intfdata(intf);

Expand Down
48 changes: 32 additions & 16 deletions trunk/drivers/usb/class/audio.c
Original file line number Diff line number Diff line change
Expand Up @@ -649,10 +649,14 @@ static void usbin_stop(struct usb_audiodev *as)
}
}
set_current_state(TASK_RUNNING);
kfree(u->durb[0].urb->transfer_buffer);
kfree(u->durb[1].urb->transfer_buffer);
kfree(u->surb[0].urb->transfer_buffer);
kfree(u->surb[1].urb->transfer_buffer);
if (u->durb[0].urb->transfer_buffer)
kfree(u->durb[0].urb->transfer_buffer);
if (u->durb[1].urb->transfer_buffer)
kfree(u->durb[1].urb->transfer_buffer);
if (u->surb[0].urb->transfer_buffer)
kfree(u->surb[0].urb->transfer_buffer);
if (u->surb[1].urb->transfer_buffer)
kfree(u->surb[1].urb->transfer_buffer);
u->durb[0].urb->transfer_buffer = u->durb[1].urb->transfer_buffer =
u->surb[0].urb->transfer_buffer = u->surb[1].urb->transfer_buffer = NULL;
}
Expand Down Expand Up @@ -1005,17 +1009,21 @@ static int usbin_start(struct usb_audiodev *as)
u->phase = 0;
maxsze = (u->freqmax + 0x3fff) >> (14 - AFMT_BYTESSHIFT(u->format));
bufsz = DESCFRAMES * maxsze;
kfree(u->durb[0].urb->transfer_buffer);
if (u->durb[0].urb->transfer_buffer)
kfree(u->durb[0].urb->transfer_buffer);
u->durb[0].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
u->durb[0].urb->transfer_buffer_length = bufsz;
kfree(u->durb[1].urb->transfer_buffer);
if (u->durb[1].urb->transfer_buffer)
kfree(u->durb[1].urb->transfer_buffer);
u->durb[1].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
u->durb[1].urb->transfer_buffer_length = bufsz;
if (u->syncpipe) {
kfree(u->surb[0].urb->transfer_buffer);
if (u->surb[0].urb->transfer_buffer)
kfree(u->surb[0].urb->transfer_buffer);
u->surb[0].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
u->surb[0].urb->transfer_buffer_length = 3*SYNCFRAMES;
kfree(u->surb[1].urb->transfer_buffer);
if (u->surb[1].urb->transfer_buffer)
kfree(u->surb[1].urb->transfer_buffer);
u->surb[1].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
u->surb[1].urb->transfer_buffer_length = 3*SYNCFRAMES;
}
Expand Down Expand Up @@ -1120,10 +1128,14 @@ static void usbout_stop(struct usb_audiodev *as)
}
}
set_current_state(TASK_RUNNING);
kfree(u->durb[0].urb->transfer_buffer);
kfree(u->durb[1].urb->transfer_buffer);
kfree(u->surb[0].urb->transfer_buffer);
kfree(u->surb[1].urb->transfer_buffer);
if (u->durb[0].urb->transfer_buffer)
kfree(u->durb[0].urb->transfer_buffer);
if (u->durb[1].urb->transfer_buffer)
kfree(u->durb[1].urb->transfer_buffer);
if (u->surb[0].urb->transfer_buffer)
kfree(u->surb[0].urb->transfer_buffer);
if (u->surb[1].urb->transfer_buffer)
kfree(u->surb[1].urb->transfer_buffer);
u->durb[0].urb->transfer_buffer = u->durb[1].urb->transfer_buffer =
u->surb[0].urb->transfer_buffer = u->surb[1].urb->transfer_buffer = NULL;
}
Expand Down Expand Up @@ -1364,17 +1376,21 @@ static int usbout_start(struct usb_audiodev *as)
u->phase = 0;
maxsze = (u->freqmax + 0x3fff) >> (14 - AFMT_BYTESSHIFT(u->format));
bufsz = DESCFRAMES * maxsze;
kfree(u->durb[0].urb->transfer_buffer);
if (u->durb[0].urb->transfer_buffer)
kfree(u->durb[0].urb->transfer_buffer);
u->durb[0].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
u->durb[0].urb->transfer_buffer_length = bufsz;
kfree(u->durb[1].urb->transfer_buffer);
if (u->durb[1].urb->transfer_buffer)
kfree(u->durb[1].urb->transfer_buffer);
u->durb[1].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
u->durb[1].urb->transfer_buffer_length = bufsz;
if (u->syncpipe) {
kfree(u->surb[0].urb->transfer_buffer);
if (u->surb[0].urb->transfer_buffer)
kfree(u->surb[0].urb->transfer_buffer);
u->surb[0].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
u->surb[0].urb->transfer_buffer_length = 3*SYNCFRAMES;
kfree(u->surb[1].urb->transfer_buffer);
if (u->surb[1].urb->transfer_buffer)
kfree(u->surb[1].urb->transfer_buffer);
u->surb[1].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
u->surb[1].urb->transfer_buffer_length = 3*SYNCFRAMES;
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/usb/class/bluetty.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ static int bluetooth_ctrl_msg (struct usb_bluetooth *bluetooth, int request, int
}
}
if (urb->transfer_buffer_length < len) {
kfree(urb->transfer_buffer);
kfree (urb->transfer_buffer);
urb->transfer_buffer = kmalloc (len, GFP_KERNEL);
if (urb->transfer_buffer == NULL) {
err ("%s - out of memory", __FUNCTION__);
Expand Down Expand Up @@ -535,7 +535,7 @@ static int bluetooth_write (struct tty_struct * tty, const unsigned char *buf, i
}

exit:
kfree(temp_buffer);
kfree (temp_buffer);

return retval;
}
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/usb/core/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
#include <linux/slab.h>
#include <linux/device.h>
#include <asm/byteorder.h>
#include "usb.h"
#include "hcd.h"


#define USB_MAXALTSETTING 128 /* Hard limit */
#define USB_MAXENDPOINTS 30 /* Hard limit */
Expand Down
8 changes: 5 additions & 3 deletions trunk/drivers/usb/core/devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
#include <linux/usbdevice_fs.h>
#include <asm/uaccess.h>

#include "usb.h"
#include "hcd.h"

#define MAX_TOPO_LEVEL 6
Expand Down Expand Up @@ -637,8 +636,11 @@ static int usb_device_open(struct inode *inode, struct file *file)

static int usb_device_release(struct inode *inode, struct file *file)
{
kfree(file->private_data);
file->private_data = NULL;
if (file->private_data) {
kfree(file->private_data);
file->private_data = NULL;
}

return 0;
}

Expand Down
72 changes: 41 additions & 31 deletions trunk/drivers/usb/core/devio.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,12 @@ static struct async *alloc_async(unsigned int numisoframes)

static void free_async(struct async *as)
{
kfree(as->urb->transfer_buffer);
kfree(as->urb->setup_packet);
if (as->urb->transfer_buffer)
kfree(as->urb->transfer_buffer);
if (as->urb->setup_packet)
kfree(as->urb->setup_packet);
usb_free_urb(as->urb);
kfree(as);
kfree(as);
}

static inline void async_newpending(struct async *as)
Expand Down Expand Up @@ -936,13 +938,17 @@ static int proc_do_submiturb(struct dev_state *ps, struct usbdevfs_urb *uurb,
return -EINVAL;
}
if (!(as = alloc_async(uurb->number_of_packets))) {
kfree(isopkt);
kfree(dr);
if (isopkt)
kfree(isopkt);
if (dr)
kfree(dr);
return -ENOMEM;
}
if (!(as->urb->transfer_buffer = kmalloc(uurb->buffer_length, GFP_KERNEL))) {
kfree(isopkt);
kfree(dr);
if (isopkt)
kfree(isopkt);
if (dr)
kfree(dr);
free_async(as);
return -ENOMEM;
}
Expand All @@ -961,7 +967,8 @@ static int proc_do_submiturb(struct dev_state *ps, struct usbdevfs_urb *uurb,
as->urb->iso_frame_desc[u].length = isopkt[u].length;
totlen += isopkt[u].length;
}
kfree(isopkt);
if (isopkt)
kfree(isopkt);
as->ps = ps;
as->userurb = arg;
if (uurb->endpoint & USB_DIR_IN)
Expand Down Expand Up @@ -1025,15 +1032,15 @@ static int processcompl(struct async *as, void __user * __user *arg)
if (put_user(urb->error_count, &userurb->error_count))
return -EFAULT;

if (usb_pipeisoc(urb->pipe)) {
for (i = 0; i < urb->number_of_packets; i++) {
if (put_user(urb->iso_frame_desc[i].actual_length,
&userurb->iso_frame_desc[i].actual_length))
return -EFAULT;
if (put_user(urb->iso_frame_desc[i].status,
&userurb->iso_frame_desc[i].status))
return -EFAULT;
}
if (!(usb_pipeisoc(urb->pipe)))
return 0;
for (i = 0; i < urb->number_of_packets; i++) {
if (put_user(urb->iso_frame_desc[i].actual_length,
&userurb->iso_frame_desc[i].actual_length))
return -EFAULT;
if (put_user(urb->iso_frame_desc[i].status,
&userurb->iso_frame_desc[i].status))
return -EFAULT;
}

free_async(as);
Expand Down Expand Up @@ -1119,7 +1126,7 @@ static int proc_submiturb_compat(struct dev_state *ps, void __user *arg)
if (get_urb32(&uurb,(struct usbdevfs_urb32 *)arg))
return -EFAULT;

return proc_do_submiturb(ps, &uurb, ((struct usbdevfs_urb32 __user *)arg)->iso_frame_desc, arg);
return proc_do_submiturb(ps, &uurb, ((struct usbdevfs_urb __user *)arg)->iso_frame_desc, arg);
}

static int processcompl_compat(struct async *as, void __user * __user *arg)
Expand All @@ -1139,15 +1146,15 @@ static int processcompl_compat(struct async *as, void __user * __user *arg)
if (put_user(urb->error_count, &userurb->error_count))
return -EFAULT;

if (usb_pipeisoc(urb->pipe)) {
for (i = 0; i < urb->number_of_packets; i++) {
if (put_user(urb->iso_frame_desc[i].actual_length,
&userurb->iso_frame_desc[i].actual_length))
return -EFAULT;
if (put_user(urb->iso_frame_desc[i].status,
&userurb->iso_frame_desc[i].status))
return -EFAULT;
}
if (!(usb_pipeisoc(urb->pipe)))
return 0;
for (i = 0; i < urb->number_of_packets; i++) {
if (put_user(urb->iso_frame_desc[i].actual_length,
&userurb->iso_frame_desc[i].actual_length))
return -EFAULT;
if (put_user(urb->iso_frame_desc[i].status,
&userurb->iso_frame_desc[i].status))
return -EFAULT;
}

free_async(as);
Expand All @@ -1170,8 +1177,10 @@ static int proc_reapurbnonblock_compat(struct dev_state *ps, void __user *arg)
{
struct async *as;

printk("reapurbnblock\n");
if (!(as = async_getcompleted(ps)))
return -EAGAIN;
printk("reap got as %p\n", as);
return processcompl_compat(as, (void __user * __user *)arg);
}

Expand Down Expand Up @@ -1230,7 +1239,7 @@ static int proc_ioctl (struct dev_state *ps, void __user *arg)
return -ENOMEM;
if ((_IOC_DIR(ctrl.ioctl_code) & _IOC_WRITE)) {
if (copy_from_user (buf, ctrl.data, size)) {
kfree(buf);
kfree (buf);
return -EFAULT;
}
} else {
Expand All @@ -1239,7 +1248,8 @@ static int proc_ioctl (struct dev_state *ps, void __user *arg)
}

if (!connected(ps->dev)) {
kfree(buf);
if (buf)
kfree(buf);
return -ENODEV;
}

Expand Down Expand Up @@ -1301,8 +1311,8 @@ static int proc_ioctl (struct dev_state *ps, void __user *arg)
&& size > 0
&& copy_to_user (ctrl.data, buf, size) != 0)
retval = -EFAULT;

kfree(buf);
if (buf != NULL)
kfree (buf);
return retval;
}

Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/usb/core/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
#endif
#include <linux/usb.h>

#include "usb.h"

#define MAX_USB_MINORS 256
static struct file_operations *usb_minors[MAX_USB_MINORS];
static DEFINE_SPINLOCK(minor_lock);
Expand Down
Loading

0 comments on commit 01e3a82

Please sign in to comment.